@sfdxy/anypoint-connect 0.17.0 → 0.18.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 +1 -1
- package/dist/api/LogsApi.d.ts +74 -10
- package/dist/api/LogsApi.d.ts.map +1 -1
- package/dist/api/LogsApi.js +312 -19
- package/dist/api/LogsApi.js.map +1 -1
- package/dist/auth/BearerProvider.d.ts +12 -0
- package/dist/auth/BearerProvider.d.ts.map +1 -0
- package/dist/auth/BearerProvider.js +18 -0
- package/dist/auth/BearerProvider.js.map +1 -0
- package/dist/auth/ClientCredentialsProvider.d.ts +23 -0
- package/dist/auth/ClientCredentialsProvider.d.ts.map +1 -0
- package/dist/auth/ClientCredentialsProvider.js +59 -0
- package/dist/auth/ClientCredentialsProvider.js.map +1 -0
- package/dist/auth/TokenProvider.d.ts +12 -0
- package/dist/auth/TokenProvider.d.ts.map +1 -0
- package/dist/auth/TokenProvider.js +2 -0
- package/dist/auth/TokenProvider.js.map +1 -0
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/client/AnypointClient.d.ts +20 -0
- package/dist/client/AnypointClient.d.ts.map +1 -1
- package/dist/client/AnypointClient.js +79 -12
- package/dist/client/AnypointClient.js.map +1 -1
- package/dist/client/HttpClient.d.ts +3 -3
- package/dist/client/HttpClient.d.ts.map +1 -1
- package/dist/client/HttpClient.js +13 -3
- package/dist/client/HttpClient.js.map +1 -1
- package/dist/commands/alerts.d.ts.map +1 -1
- package/dist/commands/alerts.js +20 -3
- package/dist/commands/alerts.js.map +1 -1
- package/dist/commands/apps.d.ts.map +1 -1
- package/dist/commands/apps.js +43 -1
- package/dist/commands/apps.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +21 -0
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +20 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/logs.d.ts +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +60 -10
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/monitor.d.ts.map +1 -1
- package/dist/commands/monitor.js +29 -1
- package/dist/commands/monitor.js.map +1 -1
- package/dist/commands/runtimes.d.ts.map +1 -1
- package/dist/commands/runtimes.js +38 -5
- package/dist/commands/runtimes.js.map +1 -1
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/shared.js +1 -7
- package/dist/commands/shared.js.map +1 -1
- package/dist/config/auth-modes.d.ts +11 -0
- package/dist/config/auth-modes.d.ts.map +1 -0
- package/dist/config/auth-modes.js +18 -0
- package/dist/config/auth-modes.js.map +1 -0
- package/dist/config/profiles.d.ts +9 -0
- package/dist/config/profiles.d.ts.map +1 -1
- package/dist/config/profiles.js +16 -3
- package/dist/config/profiles.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +1 -7
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/alerts.d.ts.map +1 -1
- package/dist/mcp/tools/alerts.js +26 -12
- package/dist/mcp/tools/alerts.js.map +1 -1
- package/dist/mcp/tools/app-inputs.d.ts +16 -0
- package/dist/mcp/tools/app-inputs.d.ts.map +1 -1
- package/dist/mcp/tools/app-inputs.js +27 -1
- package/dist/mcp/tools/app-inputs.js.map +1 -1
- package/dist/mcp/tools/apps-deploy.d.ts.map +1 -1
- package/dist/mcp/tools/apps-deploy.js +18 -2
- package/dist/mcp/tools/apps-deploy.js.map +1 -1
- package/dist/mcp/tools/apps-lifecycle.d.ts.map +1 -1
- package/dist/mcp/tools/apps-lifecycle.js +10 -3
- package/dist/mcp/tools/apps-lifecycle.js.map +1 -1
- package/dist/mcp/tools/apps-read.d.ts.map +1 -1
- package/dist/mcp/tools/apps-read.js +11 -5
- package/dist/mcp/tools/apps-read.js.map +1 -1
- package/dist/mcp/tools/identity.d.ts.map +1 -1
- package/dist/mcp/tools/identity.js +27 -3
- package/dist/mcp/tools/identity.js.map +1 -1
- package/dist/mcp/tools/monitoring.d.ts.map +1 -1
- package/dist/mcp/tools/monitoring.js +5 -3
- package/dist/mcp/tools/monitoring.js.map +1 -1
- package/dist/mcp/tools/output-schemas.d.ts +83 -0
- package/dist/mcp/tools/output-schemas.d.ts.map +1 -0
- package/dist/mcp/tools/output-schemas.js +81 -0
- package/dist/mcp/tools/output-schemas.js.map +1 -0
- package/dist/mcp/tools/shared.d.ts +12 -0
- package/dist/mcp/tools/shared.d.ts.map +1 -1
- package/dist/mcp/tools/shared.js +8 -0
- package/dist/mcp/tools/shared.js.map +1 -1
- package/dist/safety/plan-binding.d.ts +21 -0
- package/dist/safety/plan-binding.d.ts.map +1 -0
- package/dist/safety/plan-binding.js +61 -0
- package/dist/safety/plan-binding.js.map +1 -0
- package/dist/utils/formatter.d.ts +2 -0
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +4 -0
- package/dist/utils/formatter.js.map +1 -1
- package/dist/utils/logger.d.ts +2 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +23 -13
- package/dist/utils/logger.js.map +1 -1
- package/dist/workflows/alerts.d.ts +12 -2
- package/dist/workflows/alerts.d.ts.map +1 -1
- package/dist/workflows/alerts.js +40 -4
- package/dist/workflows/alerts.js.map +1 -1
- package/dist/workflows/app-change.d.ts +7 -0
- package/dist/workflows/app-change.d.ts.map +1 -1
- package/dist/workflows/app-change.js +35 -1
- package/dist/workflows/app-change.js.map +1 -1
- package/dist/workflows/jar-deployment.d.ts +1 -0
- package/dist/workflows/jar-deployment.d.ts.map +1 -1
- package/dist/workflows/jar-deployment.js +4 -1
- package/dist/workflows/jar-deployment.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -106,7 +106,7 @@ OAuth tokens; it sends tool calls to the local server that owns the session.
|
|
|
106
106
|
"mcpServers": {
|
|
107
107
|
"anypoint-connect": {
|
|
108
108
|
"command": "npx",
|
|
109
|
-
"args": ["-y", "@sfdxy/anypoint-connect@0.
|
|
109
|
+
"args": ["-y", "@sfdxy/anypoint-connect@0.18.0", "mcp"]
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
}
|
package/dist/api/LogsApi.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export interface LogReadOptions {
|
|
|
26
26
|
* replaced by an update stays visible. Default 0: the desired spec, or the last successful one.
|
|
27
27
|
*/
|
|
28
28
|
previousSpecs?: number;
|
|
29
|
+
/** Cancels the request in flight. */
|
|
30
|
+
signal?: AbortSignal;
|
|
29
31
|
}
|
|
30
32
|
/** Where a log file came from. */
|
|
31
33
|
export interface LogSource {
|
|
@@ -59,6 +61,45 @@ export interface LogSearchResponse {
|
|
|
59
61
|
entries: EnrichedLogEntry[];
|
|
60
62
|
source: LogSource;
|
|
61
63
|
}
|
|
64
|
+
/** What a followed log reports. */
|
|
65
|
+
export type TailEvent =
|
|
66
|
+
/** New records, oldest first, that pass the filters. */
|
|
67
|
+
{
|
|
68
|
+
type: 'records';
|
|
69
|
+
entries: EnrichedLogEntry[];
|
|
70
|
+
specId: string;
|
|
71
|
+
}
|
|
72
|
+
/** The spec being followed: first announced, then whenever it changes. */
|
|
73
|
+
| {
|
|
74
|
+
type: 'specChange';
|
|
75
|
+
from: string | null;
|
|
76
|
+
to: string;
|
|
77
|
+
fallbackFromSpecId?: string;
|
|
78
|
+
}
|
|
79
|
+
/** Records may have been missed: more arrived between reads than one read covers. */
|
|
80
|
+
| {
|
|
81
|
+
type: 'gap';
|
|
82
|
+
message: string;
|
|
83
|
+
}
|
|
84
|
+
/** A read failed; following continues. */
|
|
85
|
+
| {
|
|
86
|
+
type: 'error';
|
|
87
|
+
message: string;
|
|
88
|
+
}
|
|
89
|
+
/** How the log is read: `incremental` asks only for records after the last one seen; `file` downloads the whole file each time (the incremental endpoint was unavailable). */
|
|
90
|
+
| {
|
|
91
|
+
type: 'transport';
|
|
92
|
+
mode: 'incremental' | 'file';
|
|
93
|
+
reason?: string;
|
|
94
|
+
};
|
|
95
|
+
export interface TailOptions extends Pick<LogFilter, 'level' | 'search' | 'regex' | 'logger'> {
|
|
96
|
+
/** Milliseconds between reads (default 5000). */
|
|
97
|
+
intervalMs?: number;
|
|
98
|
+
/** Follow exactly this spec instead of the current one. */
|
|
99
|
+
specId?: string;
|
|
100
|
+
/** Stops following, including the wait and the request in flight. */
|
|
101
|
+
signal?: AbortSignal;
|
|
102
|
+
}
|
|
62
103
|
/**
|
|
63
104
|
* Parse a log file into entries, oldest first. A file read across several specs holds one
|
|
64
105
|
* block per spec, and replicas of two generations can overlap in time, so entries are sorted.
|
|
@@ -72,7 +113,7 @@ export declare class LogsApi {
|
|
|
72
113
|
* Download the full log file for a CH2 deployment.
|
|
73
114
|
* Returns raw log text.
|
|
74
115
|
*/
|
|
75
|
-
downloadLogFile(orgId: string, envId: string, deploymentId: string, specId: string): Promise<Buffer>;
|
|
116
|
+
downloadLogFile(orgId: string, envId: string, deploymentId: string, specId: string, signal?: AbortSignal): Promise<Buffer>;
|
|
76
117
|
/**
|
|
77
118
|
* Resolve an app name to its deployment and the specs whose logs to read, preferred first:
|
|
78
119
|
* the desired spec, then the last successful one when it differs.
|
|
@@ -116,16 +157,39 @@ export declare class LogsApi {
|
|
|
116
157
|
source: LogSource;
|
|
117
158
|
}>;
|
|
118
159
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
160
|
+
* Follow an app's log as typed events. Polls the log file; each poll yields only records not
|
|
161
|
+
* yielded before. Records that share a millisecond are all kept (and identical lines counted),
|
|
162
|
+
* the position advances past every record read before any filter hides some, and `signal`
|
|
163
|
+
* stops the wait and the request in flight.
|
|
164
|
+
*
|
|
165
|
+
* Without `specId` it follows the current spec (the desired one, or the last successful one
|
|
166
|
+
* with a notice) and says when that changes. With `specId` it follows exactly that spec: one
|
|
167
|
+
* that is not this app's is an error, never replaced by another; so is one with no log file when the
|
|
168
|
+
* log is read from the file. On the incremental endpoint a spec without records yet is simply
|
|
169
|
+
* followed until it has some.
|
|
170
|
+
*/
|
|
171
|
+
tailEvents(orgId: string, envId: string, appName: string, options?: TailOptions): AsyncGenerator<TailEvent, void, undefined>;
|
|
172
|
+
/**
|
|
173
|
+
* Tail logs: a generator that yields new log entries. A view of {@link tailEvents} for callers
|
|
174
|
+
* that want only the records; read errors go to stderr and following continues.
|
|
175
|
+
*/
|
|
176
|
+
tailLogs(orgId: string, envId: string, appName: string, options?: Omit<TailOptions, 'signal' | 'specId'>): AsyncGenerator<LogEntry[], void, unknown>;
|
|
177
|
+
/**
|
|
178
|
+
* The incremental read: records of one spec from `since` on, through the structured log endpoint.
|
|
179
|
+
* It returns 10 records per request, oldest first, with `startTime` inclusive, so the read walks
|
|
180
|
+
* forward by the last record's time and drops repeats by `docId`. At most MAX_INCREMENTAL_PAGES
|
|
181
|
+
* requests per read; when more remain the read says so and the caller reads again at once.
|
|
121
182
|
*/
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
183
|
+
private readStructured;
|
|
184
|
+
/** The incremental read of the current spec: the desired one, or the last successful one while the desired has no records. */
|
|
185
|
+
private readStructuredCurrent;
|
|
186
|
+
private fetchStructuredPage;
|
|
187
|
+
/** The full-file read: download the log file and parse its newest window. */
|
|
188
|
+
private readFileWindow;
|
|
189
|
+
/** The deployment of `appName` and `specId`, once the spec is known to belong to it. */
|
|
190
|
+
private resolvePinnedSpec;
|
|
191
|
+
private readPinnedSpec;
|
|
192
|
+
private readCurrentSpec;
|
|
129
193
|
/**
|
|
130
194
|
* Get all logs for a time range, newest first.
|
|
131
195
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogsApi.d.ts","sourceRoot":"","sources":["../../src/api/LogsApi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"LogsApi.d.ts","sourceRoot":"","sources":["../../src/api/LogsApi.ts"],"names":[],"mappings":"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"}
|
package/dist/api/LogsApi.js
CHANGED
|
@@ -3,12 +3,43 @@
|
|
|
3
3
|
* Log tailing, fetching, and downloading for CloudHub 2.0
|
|
4
4
|
* Uses the AMC log file download endpoint with spec ID resolution
|
|
5
5
|
*/
|
|
6
|
+
import { setTimeout as delay } from 'node:timers/promises';
|
|
6
7
|
import { parseRawLogs } from '../analysis/parser.js';
|
|
7
8
|
import { buildFilter, searchEntries } from '../analysis/filter.js';
|
|
8
9
|
import { errorMessage } from '../utils/errors.js';
|
|
9
10
|
export { MAX_LOG_LINES } from '../analysis/filter.js';
|
|
10
11
|
/** Most earlier specs one read may include. */
|
|
11
12
|
export const MAX_PREVIOUS_SPECS = 10;
|
|
13
|
+
/** The incremental endpoint cannot serve this read; the full file is read instead. */
|
|
14
|
+
class IncrementalUnavailableError extends Error {
|
|
15
|
+
}
|
|
16
|
+
function structuredEntry(row) {
|
|
17
|
+
return {
|
|
18
|
+
timestamp: row.timestamp,
|
|
19
|
+
message: row.message ?? '',
|
|
20
|
+
priority: row.logLevel ?? 'INFO',
|
|
21
|
+
...(row.replicaId ? { instanceId: row.replicaId } : {}),
|
|
22
|
+
...(row.context?.logger || row.context?.class ? { loggerName: row.context.logger ?? row.context.class } : {}),
|
|
23
|
+
...(row.context?.event ? { eventId: row.context.event } : {}),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/** The endpoint returns 10 records per request whatever `limit` says. */
|
|
27
|
+
const INCREMENTAL_PAGE_SIZE = 10;
|
|
28
|
+
/** Requests per read; a larger backlog is read again at once rather than in one long call. */
|
|
29
|
+
const MAX_INCREMENTAL_PAGES = 50;
|
|
30
|
+
/** Added to now for the range end, so a clock slightly behind the platform's does not hide the newest records. */
|
|
31
|
+
const INCREMENTAL_END_SKEW_MS = 5 * 60_000;
|
|
32
|
+
/** How far behind the log the tail may fall while draining a backlog before it skips ahead. */
|
|
33
|
+
const MAX_TAIL_LAG_MS = 120_000;
|
|
34
|
+
/** Characters of the log file one read looks at, from the end. Larger files are read in full but only this tail is parsed. */
|
|
35
|
+
const TAIL_WINDOW_CHARS = 500_000;
|
|
36
|
+
/** A record's identity at its own millisecond: everything that distinguishes two lines the platform wrote. */
|
|
37
|
+
function tailKey(entry) {
|
|
38
|
+
return [entry.priority, entry.instanceId ?? '', entry.threadName ?? '', entry.loggerName ?? '', entry.message].join('\u0000');
|
|
39
|
+
}
|
|
40
|
+
function bump(counts, key) {
|
|
41
|
+
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
42
|
+
}
|
|
12
43
|
const AMC_BASE = '/amc/application-manager/api/v2';
|
|
13
44
|
function httpStatus(error) {
|
|
14
45
|
return error?.response?.status;
|
|
@@ -43,12 +74,13 @@ export class LogsApi {
|
|
|
43
74
|
* Download the full log file for a CH2 deployment.
|
|
44
75
|
* Returns raw log text.
|
|
45
76
|
*/
|
|
46
|
-
async downloadLogFile(orgId, envId, deploymentId, specId) {
|
|
77
|
+
async downloadLogFile(orgId, envId, deploymentId, specId, signal) {
|
|
47
78
|
return this.http.download(`${AMC_BASE}/organizations/${orgId}/environments/${envId}/deployments/${deploymentId}/specs/${specId}/logs/file`, {
|
|
48
79
|
headers: {
|
|
49
80
|
'X-ANYPNT-ORG-ID': orgId,
|
|
50
81
|
'X-ANYPNT-ENV-ID': envId,
|
|
51
82
|
},
|
|
83
|
+
...(signal ? { signal } : {}),
|
|
52
84
|
});
|
|
53
85
|
}
|
|
54
86
|
/**
|
|
@@ -96,7 +128,7 @@ export class LogsApi {
|
|
|
96
128
|
}
|
|
97
129
|
let text = '';
|
|
98
130
|
try {
|
|
99
|
-
text = (await this.downloadLogFile(orgId, envId, deploymentId, desired)).toString('utf-8');
|
|
131
|
+
text = (await this.downloadLogFile(orgId, envId, deploymentId, desired, read.signal)).toString('utf-8');
|
|
100
132
|
}
|
|
101
133
|
catch (error) {
|
|
102
134
|
if (!previous || httpStatus(error) !== 404)
|
|
@@ -105,7 +137,7 @@ export class LogsApi {
|
|
|
105
137
|
if (text.trim() || !previous) {
|
|
106
138
|
return { deploymentId, specId: desired, parts: [{ specId: desired, text }] };
|
|
107
139
|
}
|
|
108
|
-
const fallback = (await this.downloadLogFile(orgId, envId, deploymentId, previous)).toString('utf-8');
|
|
140
|
+
const fallback = (await this.downloadLogFile(orgId, envId, deploymentId, previous, read.signal)).toString('utf-8');
|
|
109
141
|
return {
|
|
110
142
|
deploymentId,
|
|
111
143
|
specId: previous,
|
|
@@ -165,10 +197,19 @@ export class LogsApi {
|
|
|
165
197
|
return { entries: parseLogFile(file).filter(buildFilter(filter)), source: sourceOf(file) };
|
|
166
198
|
}
|
|
167
199
|
/**
|
|
168
|
-
*
|
|
169
|
-
*
|
|
200
|
+
* Follow an app's log as typed events. Polls the log file; each poll yields only records not
|
|
201
|
+
* yielded before. Records that share a millisecond are all kept (and identical lines counted),
|
|
202
|
+
* the position advances past every record read before any filter hides some, and `signal`
|
|
203
|
+
* stops the wait and the request in flight.
|
|
204
|
+
*
|
|
205
|
+
* Without `specId` it follows the current spec (the desired one, or the last successful one
|
|
206
|
+
* with a notice) and says when that changes. With `specId` it follows exactly that spec: one
|
|
207
|
+
* that is not this app's is an error, never replaced by another; so is one with no log file when the
|
|
208
|
+
* log is read from the file. On the incremental endpoint a spec without records yet is simply
|
|
209
|
+
* followed until it has some.
|
|
170
210
|
*/
|
|
171
|
-
async *
|
|
211
|
+
async *tailEvents(orgId, envId, appName, options = {}) {
|
|
212
|
+
const { signal, specId: pinnedSpec } = options;
|
|
172
213
|
const intervalMs = options.intervalMs || 5000;
|
|
173
214
|
const keep = buildFilter({
|
|
174
215
|
level: options.level,
|
|
@@ -176,25 +217,277 @@ export class LogsApi {
|
|
|
176
217
|
regex: options.regex,
|
|
177
218
|
logger: options.logger,
|
|
178
219
|
});
|
|
179
|
-
|
|
180
|
-
|
|
220
|
+
const pinned = pinnedSpec ? await this.resolvePinnedSpec(orgId, envId, appName, pinnedSpec) : undefined;
|
|
221
|
+
let followed = null;
|
|
222
|
+
let lastTs = Date.now() - 30_000; // start from 30 seconds ago
|
|
223
|
+
let atLast = new Map(); // records already yielded at exactly lastTs
|
|
224
|
+
let polled = false;
|
|
225
|
+
let mode = null;
|
|
226
|
+
let incrementalUnsupported = false;
|
|
227
|
+
let reportedTieAt;
|
|
228
|
+
while (!signal?.aborted) {
|
|
229
|
+
let drainNext = false; // a backlog is waiting: read again without sleeping
|
|
181
230
|
try {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
231
|
+
let read;
|
|
232
|
+
if (!incrementalUnsupported) {
|
|
233
|
+
try {
|
|
234
|
+
read = pinned
|
|
235
|
+
? await this.readStructured(orgId, envId, pinned.deploymentId, pinned.specId, lastTs, signal)
|
|
236
|
+
: await this.readStructuredCurrent(orgId, envId, appName, followed, lastTs, signal);
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
if (!(error instanceof IncrementalUnavailableError))
|
|
240
|
+
throw error;
|
|
241
|
+
incrementalUnsupported = true;
|
|
242
|
+
yield { type: 'transport', mode: 'file', reason: error.message };
|
|
243
|
+
mode = 'file';
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (!read)
|
|
247
|
+
read = await this.readFileWindow(orgId, envId, appName, pinned, signal);
|
|
248
|
+
if (read.mode === 'incremental' && mode !== 'incremental') {
|
|
249
|
+
yield { type: 'transport', mode: 'incremental' };
|
|
250
|
+
mode = 'incremental';
|
|
251
|
+
}
|
|
252
|
+
if (read.specId !== followed) {
|
|
253
|
+
yield {
|
|
254
|
+
type: 'specChange',
|
|
255
|
+
from: followed,
|
|
256
|
+
to: read.specId,
|
|
257
|
+
...(read.fallbackFromSpecId ? { fallbackFromSpecId: read.fallbackFromSpecId } : {}),
|
|
258
|
+
};
|
|
259
|
+
if (followed !== null)
|
|
260
|
+
atLast = new Map(); // a new file: nothing of it was seen
|
|
261
|
+
followed = read.specId;
|
|
262
|
+
}
|
|
263
|
+
if (read.gap) {
|
|
264
|
+
if (read.tiedAt !== undefined) {
|
|
265
|
+
// Certain, and the same tie shows up on every later read: say it once per millisecond.
|
|
266
|
+
if (read.tiedAt !== reportedTieAt) {
|
|
267
|
+
reportedTieAt = read.tiedAt;
|
|
268
|
+
yield { type: 'gap', message: read.gap };
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
else if (polled && read.items.length > 0 && read.items[0].entry.timestamp > lastTs) {
|
|
272
|
+
yield { type: 'gap', message: read.gap };
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
polled = true;
|
|
276
|
+
drainNext = false;
|
|
277
|
+
const fresh = [];
|
|
278
|
+
const seenNow = new Map();
|
|
279
|
+
for (const item of read.items) {
|
|
280
|
+
if (item.entry.timestamp < lastTs)
|
|
281
|
+
continue;
|
|
282
|
+
if (item.entry.timestamp === lastTs) {
|
|
283
|
+
const n = (seenNow.get(item.key) ?? 0) + 1;
|
|
284
|
+
seenNow.set(item.key, n);
|
|
285
|
+
if (n <= (atLast.get(item.key) ?? 0))
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
fresh.push(item);
|
|
289
|
+
}
|
|
290
|
+
// Read again at once only while reads keep producing something new; an empty read waits like any other.
|
|
291
|
+
drainNext = read.backlog && fresh.length > 0;
|
|
292
|
+
if (fresh.length > 0) {
|
|
293
|
+
const newest = fresh[fresh.length - 1].entry.timestamp;
|
|
294
|
+
if (newest === lastTs) {
|
|
295
|
+
for (const item of fresh)
|
|
296
|
+
bump(atLast, item.key);
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
lastTs = newest;
|
|
300
|
+
atLast = new Map();
|
|
301
|
+
for (const item of fresh)
|
|
302
|
+
if (item.entry.timestamp === newest)
|
|
303
|
+
bump(atLast, item.key);
|
|
304
|
+
}
|
|
305
|
+
const shown = fresh.map((i) => i.entry).filter(keep);
|
|
306
|
+
if (shown.length > 0)
|
|
307
|
+
yield { type: 'records', entries: shown, specId: read.specId };
|
|
308
|
+
}
|
|
309
|
+
if (drainNext && lastTs < Date.now() - MAX_TAIL_LAG_MS) {
|
|
310
|
+
// The app writes faster than the endpoint can be read: say so and catch up instead of falling further behind.
|
|
311
|
+
yield {
|
|
312
|
+
type: 'gap',
|
|
313
|
+
message: `The tail fell more than ${MAX_TAIL_LAG_MS / 1000} seconds behind the log and skipped ahead to the last 30 seconds; the lines in between were not shown. Read them with \`anc logs search\`.`,
|
|
314
|
+
};
|
|
315
|
+
lastTs = Date.now() - 30_000;
|
|
316
|
+
atLast = new Map();
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
catch (error) {
|
|
320
|
+
if (signal?.aborted)
|
|
321
|
+
return;
|
|
322
|
+
// A pinned spec must be readable at least once; after that a failed read is reported and retried.
|
|
323
|
+
if (pinned && !polled)
|
|
324
|
+
throw error;
|
|
325
|
+
yield { type: 'error', message: errorMessage(error) };
|
|
326
|
+
}
|
|
327
|
+
if (drainNext)
|
|
328
|
+
continue;
|
|
329
|
+
try {
|
|
330
|
+
await delay(intervalMs, undefined, { signal });
|
|
331
|
+
}
|
|
332
|
+
catch {
|
|
333
|
+
return; // cancelled
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Tail logs: a generator that yields new log entries. A view of {@link tailEvents} for callers
|
|
339
|
+
* that want only the records; read errors go to stderr and following continues.
|
|
340
|
+
*/
|
|
341
|
+
async *tailLogs(orgId, envId, appName, options = {}) {
|
|
342
|
+
for await (const event of this.tailEvents(orgId, envId, appName, options)) {
|
|
343
|
+
if (event.type === 'records')
|
|
344
|
+
yield event.entries;
|
|
345
|
+
else if (event.type === 'error')
|
|
346
|
+
console.error(`Log poll error: ${event.message}`);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* The incremental read: records of one spec from `since` on, through the structured log endpoint.
|
|
351
|
+
* It returns 10 records per request, oldest first, with `startTime` inclusive, so the read walks
|
|
352
|
+
* forward by the last record's time and drops repeats by `docId`. At most MAX_INCREMENTAL_PAGES
|
|
353
|
+
* requests per read; when more remain the read says so and the caller reads again at once.
|
|
354
|
+
*/
|
|
355
|
+
async readStructured(orgId, envId, deploymentId, specId, since, signal) {
|
|
356
|
+
const items = [];
|
|
357
|
+
const seen = new Set();
|
|
358
|
+
let start = since;
|
|
359
|
+
let backlog = false;
|
|
360
|
+
let tiedAt;
|
|
361
|
+
for (let page = 0;; page++) {
|
|
362
|
+
const rows = await this.fetchStructuredPage(orgId, envId, deploymentId, specId, start, Date.now() + INCREMENTAL_END_SKEW_MS, signal);
|
|
363
|
+
for (const row of rows) {
|
|
364
|
+
const key = String(row.docId);
|
|
365
|
+
if (seen.has(key))
|
|
366
|
+
continue;
|
|
367
|
+
seen.add(key);
|
|
368
|
+
items.push({ entry: structuredEntry(row), key });
|
|
369
|
+
}
|
|
370
|
+
if (rows.length < INCREMENTAL_PAGE_SIZE)
|
|
371
|
+
break; // the last page
|
|
372
|
+
const lastTs = rows[rows.length - 1].timestamp;
|
|
373
|
+
if (lastTs === start) {
|
|
374
|
+
// A whole page at one millisecond: the endpoint cannot page inside it, so step past it.
|
|
375
|
+
tiedAt = lastTs;
|
|
376
|
+
start = lastTs + 1;
|
|
377
|
+
}
|
|
378
|
+
else {
|
|
379
|
+
start = lastTs;
|
|
380
|
+
}
|
|
381
|
+
if (page + 1 >= MAX_INCREMENTAL_PAGES) {
|
|
382
|
+
backlog = true;
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return {
|
|
387
|
+
mode: 'incremental',
|
|
388
|
+
specId,
|
|
389
|
+
items,
|
|
390
|
+
backlog,
|
|
391
|
+
...(tiedAt !== undefined
|
|
392
|
+
? {
|
|
393
|
+
gap: `More than ${INCREMENTAL_PAGE_SIZE} records share one millisecond and the platform cannot page inside it, so some may be missing.`,
|
|
394
|
+
tiedAt,
|
|
190
395
|
}
|
|
396
|
+
: {}),
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
/** The incremental read of the current spec: the desired one, or the last successful one while the desired has no records. */
|
|
400
|
+
async readStructuredCurrent(orgId, envId, appName, followed, since, signal) {
|
|
401
|
+
const { deploymentId, specIds } = await this.resolveDeployment(orgId, envId, appName);
|
|
402
|
+
const [desired, previous] = specIds;
|
|
403
|
+
const read = await this.readStructured(orgId, envId, deploymentId, desired, since, signal);
|
|
404
|
+
if (read.items.length > 0 || !previous || followed === desired)
|
|
405
|
+
return read;
|
|
406
|
+
const fallback = await this.readStructured(orgId, envId, deploymentId, previous, since, signal);
|
|
407
|
+
// Keep following the fallback while the desired spec is still silent; the first poll settles on desired if both are.
|
|
408
|
+
if (fallback.items.length > 0 || followed === previous)
|
|
409
|
+
return { ...fallback, fallbackFromSpecId: desired };
|
|
410
|
+
return read;
|
|
411
|
+
}
|
|
412
|
+
async fetchStructuredPage(orgId, envId, deploymentId, specId, startTime, endTime, signal) {
|
|
413
|
+
let data;
|
|
414
|
+
try {
|
|
415
|
+
data = await this.http.get(`${AMC_BASE}/organizations/${orgId}/environments/${envId}/deployments/${deploymentId}/specs/${specId}/logs`, {
|
|
416
|
+
headers: { 'X-ANYPNT-ORG-ID': orgId, 'X-ANYPNT-ENV-ID': envId },
|
|
417
|
+
// Epoch milliseconds: ISO timestamps are rejected.
|
|
418
|
+
params: { startTime, endTime, descending: false },
|
|
419
|
+
...(signal ? { signal } : {}),
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
catch (error) {
|
|
423
|
+
const status = httpStatus(error);
|
|
424
|
+
// A spec without logs can answer 404 (as its log file does): that is no records, not a missing endpoint.
|
|
425
|
+
if (status === 404)
|
|
426
|
+
return [];
|
|
427
|
+
// The endpoint rejects the request or does not exist for this API: use the file instead.
|
|
428
|
+
if (status === 400 || status === 405 || status === 501) {
|
|
429
|
+
throw new IncrementalUnavailableError(`the incremental log endpoint answered HTTP ${status}`);
|
|
191
430
|
}
|
|
192
|
-
|
|
193
|
-
|
|
431
|
+
throw error;
|
|
432
|
+
}
|
|
433
|
+
const valid = Array.isArray(data) &&
|
|
434
|
+
data.every((r) => r &&
|
|
435
|
+
typeof r === 'object' &&
|
|
436
|
+
(typeof r.docId === 'string' || typeof r.docId === 'number') &&
|
|
437
|
+
typeof r.timestamp === 'number');
|
|
438
|
+
if (!valid)
|
|
439
|
+
throw new IncrementalUnavailableError('the incremental log endpoint returned an unexpected shape');
|
|
440
|
+
return data;
|
|
441
|
+
}
|
|
442
|
+
/** The full-file read: download the log file and parse its newest window. */
|
|
443
|
+
async readFileWindow(orgId, envId, appName, pinned, signal) {
|
|
444
|
+
const read = pinned
|
|
445
|
+
? await this.readPinnedSpec(orgId, envId, pinned.deploymentId, pinned.specId, signal)
|
|
446
|
+
: await this.readCurrentSpec(orgId, envId, appName, signal);
|
|
447
|
+
const cut = read.text.length > TAIL_WINDOW_CHARS;
|
|
448
|
+
const window = cut
|
|
449
|
+
? read.text.slice(read.text.indexOf('\n', read.text.length - TAIL_WINDOW_CHARS) + 1)
|
|
450
|
+
: read.text;
|
|
451
|
+
// Stable sort: records that share a timestamp keep their file order.
|
|
452
|
+
const entries = parseRawLogs(window).sort((a, b) => a.timestamp - b.timestamp);
|
|
453
|
+
return {
|
|
454
|
+
mode: 'file',
|
|
455
|
+
specId: read.specId,
|
|
456
|
+
...(read.fallbackFromSpecId ? { fallbackFromSpecId: read.fallbackFromSpecId } : {}),
|
|
457
|
+
items: entries.map((entry) => ({ entry, key: tailKey(entry) })),
|
|
458
|
+
backlog: false,
|
|
459
|
+
...(cut
|
|
460
|
+
? {
|
|
461
|
+
gap: 'Some log lines were missed: more arrived between reads than one read covers. Read the full log with `anc logs search` to see them.',
|
|
462
|
+
}
|
|
463
|
+
: {}),
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
/** The deployment of `appName` and `specId`, once the spec is known to belong to it. */
|
|
467
|
+
async resolvePinnedSpec(orgId, envId, appName, specId) {
|
|
468
|
+
const { deploymentId } = await this.resolveDeployment(orgId, envId, appName);
|
|
469
|
+
const known = (await this.ch2.getDeploymentSpecs(orgId, envId, deploymentId)).map((s) => s.version);
|
|
470
|
+
if (!known.includes(specId)) {
|
|
471
|
+
throw new Error(`Spec "${specId}" does not belong to "${appName}". Its specs, newest first: ${known.slice(0, MAX_PREVIOUS_SPECS + 1).join(', ') || 'none'}`);
|
|
472
|
+
}
|
|
473
|
+
return { deploymentId, specId };
|
|
474
|
+
}
|
|
475
|
+
async readPinnedSpec(orgId, envId, deploymentId, specId, signal) {
|
|
476
|
+
try {
|
|
477
|
+
const text = (await this.downloadLogFile(orgId, envId, deploymentId, specId, signal)).toString('utf-8');
|
|
478
|
+
return { specId, text, fallbackFromSpecId: undefined };
|
|
479
|
+
}
|
|
480
|
+
catch (error) {
|
|
481
|
+
if (httpStatus(error) === 404) {
|
|
482
|
+
throw new Error(`Spec "${specId}" has no log file (it never started, or the log expired). No other spec was read.`);
|
|
194
483
|
}
|
|
195
|
-
|
|
484
|
+
throw error;
|
|
196
485
|
}
|
|
197
486
|
}
|
|
487
|
+
async readCurrentSpec(orgId, envId, appName, signal) {
|
|
488
|
+
const { specId, fallbackFromSpecId, parts } = await this.getLogParts(orgId, envId, appName, { signal });
|
|
489
|
+
return { specId, fallbackFromSpecId, text: parts[0]?.text ?? '' };
|
|
490
|
+
}
|
|
198
491
|
/**
|
|
199
492
|
* Get all logs for a time range, newest first.
|
|
200
493
|
*/
|
package/dist/api/LogsApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogsApi.js","sourceRoot":"","sources":["../../src/api/LogsApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LogsApi.js","sourceRoot":"","sources":["../../src/api/LogsApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TokenProvider } from './TokenProvider.js';
|
|
2
|
+
/**
|
|
3
|
+
* A caller-supplied bearer token, kept in memory only. Its lifetime is unknown, so it is never
|
|
4
|
+
* refreshed or stored; when the platform rejects it the caller must supply a new one.
|
|
5
|
+
*/
|
|
6
|
+
export declare class BearerProvider implements TokenProvider {
|
|
7
|
+
readonly unauthorizedMessage = "The bearer token was rejected (expired or invalid). Supply a new ANYPOINT_ACCESS_TOKEN.";
|
|
8
|
+
private readonly token;
|
|
9
|
+
constructor(token: string | undefined);
|
|
10
|
+
getAccessToken(): Promise<string>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=BearerProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BearerProvider.d.ts","sourceRoot":"","sources":["../../src/auth/BearerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;GAGG;AACH,qBAAa,cAAe,YAAW,aAAa;IAChD,QAAQ,CAAC,mBAAmB,6FACkE;IAC9F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,EAAE,MAAM,GAAG,SAAS;IAM/B,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;CAG1C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A caller-supplied bearer token, kept in memory only. Its lifetime is unknown, so it is never
|
|
3
|
+
* refreshed or stored; when the platform rejects it the caller must supply a new one.
|
|
4
|
+
*/
|
|
5
|
+
export class BearerProvider {
|
|
6
|
+
unauthorizedMessage = 'The bearer token was rejected (expired or invalid). Supply a new ANYPOINT_ACCESS_TOKEN.';
|
|
7
|
+
token;
|
|
8
|
+
constructor(token) {
|
|
9
|
+
const trimmed = token?.trim();
|
|
10
|
+
if (!trimmed)
|
|
11
|
+
throw new Error('Bearer authentication needs a token: set ANYPOINT_ACCESS_TOKEN.');
|
|
12
|
+
this.token = trimmed;
|
|
13
|
+
}
|
|
14
|
+
async getAccessToken() {
|
|
15
|
+
return this.token;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=BearerProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BearerProvider.js","sourceRoot":"","sources":["../../src/auth/BearerProvider.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,cAAc;IACd,mBAAmB,GACxB,yFAAyF,CAAC;IAC7E,KAAK,CAAS;IAE/B,YAAY,KAAyB;QACjC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ"}
|