@basis-theory-labs/cli 4.3.0 → 4.4.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 +89 -44
- package/dist/commands/proxies/logs/read.d.ts +2 -0
- package/dist/commands/proxies/logs/read.js +18 -2
- package/dist/commands/proxies/logs/tail.d.ts +2 -0
- package/dist/commands/proxies/logs/tail.js +18 -2
- package/dist/commands/reactors/logs/read.d.ts +1 -0
- package/dist/commands/reactors/logs/read.js +11 -2
- package/dist/commands/reactors/logs/tail.d.ts +1 -0
- package/dist/commands/reactors/logs/tail.js +12 -2
- package/dist/logs/events.d.ts +6 -2
- package/dist/logs/events.js +20 -2
- package/dist/logs/runtime.d.ts +3 -3
- package/dist/logs/runtime.js +3 -1
- package/oclif.manifest.json +58 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ $ npm install -g @basis-theory-labs/cli
|
|
|
19
19
|
$ bt COMMAND
|
|
20
20
|
running command...
|
|
21
21
|
$ bt (--version)
|
|
22
|
-
@basis-theory-labs/cli/4.
|
|
22
|
+
@basis-theory-labs/cli/4.4.0 linux-x64 node-v22.23.3
|
|
23
23
|
$ bt --help [COMMAND]
|
|
24
24
|
USAGE
|
|
25
25
|
$ bt COMMAND
|
|
@@ -66,7 +66,7 @@ EXAMPLES
|
|
|
66
66
|
$ bt applications
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
_See code: [dist/commands/applications/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v4.
|
|
69
|
+
_See code: [dist/commands/applications/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v4.4.0/dist/commands/applications/index.ts)_
|
|
70
70
|
|
|
71
71
|
## `bt applications create`
|
|
72
72
|
|
|
@@ -155,7 +155,7 @@ EXAMPLES
|
|
|
155
155
|
$ bt proxies
|
|
156
156
|
```
|
|
157
157
|
|
|
158
|
-
_See code: [dist/commands/proxies/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v4.
|
|
158
|
+
_See code: [dist/commands/proxies/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v4.4.0/dist/commands/proxies/index.ts)_
|
|
159
159
|
|
|
160
160
|
## `bt proxies create`
|
|
161
161
|
|
|
@@ -292,7 +292,8 @@ Read a fixed window of Proxy runtime logs through Events and exit. Requires `eve
|
|
|
292
292
|
|
|
293
293
|
```
|
|
294
294
|
USAGE
|
|
295
|
-
$ bt proxies logs read ID -x <value> [--
|
|
295
|
+
$ bt proxies logs read ID -x <value> [--trace-id <value>] [--transform-type request_transform|response_transform]
|
|
296
|
+
[--since <value>] [--until <value>] [--format pretty|json|json-pretty]
|
|
296
297
|
|
|
297
298
|
ARGUMENTS
|
|
298
299
|
ID Proxy id
|
|
@@ -304,6 +305,9 @@ FLAGS
|
|
|
304
305
|
<options: pretty|json|json-pretty>
|
|
305
306
|
--since=<value> window start: positive duration (30s, 5m, 2h, 1d, 1w) or ISO timestamp with timezone;
|
|
306
307
|
defaults to five minutes before the end
|
|
308
|
+
--trace-id=<value> exact, case-sensitive stored BT trace ID; combines with transform direction using AND
|
|
309
|
+
--transform-type=<option> exact transform direction; includes both directions when omitted
|
|
310
|
+
<options: request_transform|response_transform>
|
|
307
311
|
--until=<value> window end (exclusive): positive duration or ISO timestamp with timezone; defaults to
|
|
308
312
|
command start
|
|
309
313
|
|
|
@@ -311,17 +315,28 @@ DESCRIPTION
|
|
|
311
315
|
Read a fixed window of Proxy runtime logs through Events and exit. Requires `event:read` and runtime logging already
|
|
312
316
|
enabled.
|
|
313
317
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
318
|
+
Optional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be
|
|
319
|
+
sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations.
|
|
320
|
+
--transform-type filters request or response transforms, alone or combined with trace ID using AND; omitting it
|
|
321
|
+
includes both directions.
|
|
322
|
+
|
|
323
|
+
Defaults to the five minutes preceding --until, or command start when --until is omitted, regardless of filters.
|
|
324
|
+
Supply --since, for example --since 30d, to request a larger window. Explicit relative values use command-start time.
|
|
325
|
+
Windows include their start and exclude their end, filtering event batch timestamps rather than individual record
|
|
326
|
+
occurrence times. Each matching batch is expanded in record sequence; flattened output has no global chronological
|
|
327
|
+
ordering. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Indexing
|
|
328
|
+
is asynchronous and pagination is not a snapshot, so empty or exhausted results do not prove complete coverage. Large
|
|
329
|
+
windows may hit bounded work limits and fail with partial output. Application logs come from the injected `logger`,
|
|
330
|
+
not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Does not
|
|
331
|
+
enable logging or open a tunnel.
|
|
323
332
|
|
|
324
333
|
EXAMPLES
|
|
334
|
+
$ bt proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30d
|
|
335
|
+
|
|
336
|
+
$ bt proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --transform-type request_transform
|
|
337
|
+
|
|
338
|
+
$ bt proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --transform-type response_transform --since 30m
|
|
339
|
+
|
|
325
340
|
$ bt proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 1h --until 30m
|
|
326
341
|
|
|
327
342
|
$ bt proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 2026-10-01T10:00:00Z --until 2026-10-01T10:15:00Z --format json
|
|
@@ -333,7 +348,8 @@ Tail Proxy runtime logs through Events. Requires `event:read` and runtime loggin
|
|
|
333
348
|
|
|
334
349
|
```
|
|
335
350
|
USAGE
|
|
336
|
-
$ bt proxies logs tail ID -x <value> [--
|
|
351
|
+
$ bt proxies logs tail ID -x <value> [--trace-id <value>] [--transform-type request_transform|response_transform]
|
|
352
|
+
[--since <value>] [--format pretty|json|json-pretty]
|
|
337
353
|
|
|
338
354
|
ARGUMENTS
|
|
339
355
|
ID Proxy id
|
|
@@ -345,24 +361,37 @@ FLAGS
|
|
|
345
361
|
<options: pretty|json|json-pretty>
|
|
346
362
|
--since=<value> include initial history from a positive duration (30s, 5m, 2h, 1d, 1w) or ISO timestamp
|
|
347
363
|
with timezone; omitted means watch from command start
|
|
364
|
+
--trace-id=<value> exact, case-sensitive stored BT trace ID; combines with transform direction using AND
|
|
365
|
+
--transform-type=<option> exact transform direction; includes both directions when omitted
|
|
366
|
+
<options: request_transform|response_transform>
|
|
348
367
|
|
|
349
368
|
DESCRIPTION
|
|
350
369
|
Tail Proxy runtime logs through Events. Requires `event:read` and runtime logging already enabled.
|
|
351
370
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
response transforms
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
371
|
+
Optional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be
|
|
372
|
+
sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations.
|
|
373
|
+
--transform-type filters request or response transforms, alone or combined with trace ID using AND; omitting it
|
|
374
|
+
includes both directions. Filters apply to initial history and every live poll.
|
|
375
|
+
|
|
376
|
+
Starts watching from command time, regardless of filters. Supply --since to retrieve initial history before following
|
|
377
|
+
new logs. Polls every five seconds with a rolling five-minute overlap that never reaches before the requested start.
|
|
378
|
+
Time windows filter event batches, not individual record occurrence times; a newly arriving batch can contain records
|
|
379
|
+
that occurred before command start. History is limited by server retention and tenant entitlements; the API clamps
|
|
380
|
+
unavailable history. Large initial windows may hit bounded work limits and fail with partial output. Visibility is
|
|
381
|
+
delayed and best-effort; output has no durable resume or global chronological ordering. Application logs come from the
|
|
382
|
+
injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform
|
|
383
|
+
runtime-log gate. Silence does not distinguish an idle resource, a wrong ID or filter, disabled collection, or delayed
|
|
384
|
+
indexing. Runs until interrupted, output closes, or an error occurs.
|
|
362
385
|
|
|
363
386
|
EXAMPLES
|
|
364
387
|
$ bt proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca
|
|
365
388
|
|
|
389
|
+
$ bt proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42
|
|
390
|
+
|
|
391
|
+
$ bt proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --transform-type request_transform
|
|
392
|
+
|
|
393
|
+
$ bt proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --transform-type response_transform --since 30m --format json
|
|
394
|
+
|
|
366
395
|
$ bt proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 30m --format json
|
|
367
396
|
```
|
|
368
397
|
|
|
@@ -468,7 +497,7 @@ EXAMPLES
|
|
|
468
497
|
$ bt reactors
|
|
469
498
|
```
|
|
470
499
|
|
|
471
|
-
_See code: [dist/commands/reactors/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v4.
|
|
500
|
+
_See code: [dist/commands/reactors/index.ts](https://github.com/Basis-Theory-Labs/basistheory-cli/blob/v4.4.0/dist/commands/reactors/index.ts)_
|
|
472
501
|
|
|
473
502
|
## `bt reactors create`
|
|
474
503
|
|
|
@@ -574,7 +603,8 @@ Read a fixed window of Reactor runtime logs through Events and exit. Requires `e
|
|
|
574
603
|
|
|
575
604
|
```
|
|
576
605
|
USAGE
|
|
577
|
-
$ bt reactors logs read ID -x <value> [--since <value>] [--until <value>] [--format
|
|
606
|
+
$ bt reactors logs read ID -x <value> [--trace-id <value>] [--since <value>] [--until <value>] [--format
|
|
607
|
+
pretty|json|json-pretty]
|
|
578
608
|
|
|
579
609
|
ARGUMENTS
|
|
580
610
|
ID Reactor id
|
|
@@ -586,6 +616,7 @@ FLAGS
|
|
|
586
616
|
<options: pretty|json|json-pretty>
|
|
587
617
|
--since=<value> window start: positive duration (30s, 5m, 2h, 1d, 1w) or ISO timestamp with timezone;
|
|
588
618
|
defaults to five minutes before the end
|
|
619
|
+
--trace-id=<value> exact, case-sensitive stored BT trace ID
|
|
589
620
|
--until=<value> window end (exclusive): positive duration or ISO timestamp with timezone; defaults to
|
|
590
621
|
command start
|
|
591
622
|
|
|
@@ -593,16 +624,22 @@ DESCRIPTION
|
|
|
593
624
|
Read a fixed window of Reactor runtime logs through Events and exit. Requires `event:read` and runtime logging already
|
|
594
625
|
enabled.
|
|
595
626
|
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
627
|
+
Optional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be
|
|
628
|
+
sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations.
|
|
629
|
+
|
|
630
|
+
Defaults to the five minutes preceding --until, or command start when --until is omitted, regardless of filters.
|
|
631
|
+
Supply --since, for example --since 30d, to request a larger window. Explicit relative values use command-start time.
|
|
632
|
+
Windows include their start and exclude their end, filtering event batch timestamps rather than individual record
|
|
633
|
+
occurrence times. Each matching batch is expanded in record sequence; flattened output has no global chronological
|
|
634
|
+
ordering. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Indexing
|
|
635
|
+
is asynchronous and pagination is not a snapshot, so empty or exhausted results do not prove complete coverage. Large
|
|
636
|
+
windows may hit bounded work limits and fail with partial output. Application logs come from the injected `logger`,
|
|
637
|
+
not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Does not
|
|
638
|
+
enable logging or open a tunnel.
|
|
604
639
|
|
|
605
640
|
EXAMPLES
|
|
641
|
+
$ bt reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30d
|
|
642
|
+
|
|
606
643
|
$ bt reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 1h --until 30m
|
|
607
644
|
|
|
608
645
|
$ bt reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 2026-10-01T10:00:00Z --until 2026-10-01T10:15:00Z --format json
|
|
@@ -614,7 +651,7 @@ Tail Reactor runtime logs through Events. Requires `event:read` and runtime logg
|
|
|
614
651
|
|
|
615
652
|
```
|
|
616
653
|
USAGE
|
|
617
|
-
$ bt reactors logs tail ID -x <value> [--since <value>] [--format pretty|json|json-pretty]
|
|
654
|
+
$ bt reactors logs tail ID -x <value> [--trace-id <value>] [--since <value>] [--format pretty|json|json-pretty]
|
|
618
655
|
|
|
619
656
|
ARGUMENTS
|
|
620
657
|
ID Reactor id
|
|
@@ -626,23 +663,31 @@ FLAGS
|
|
|
626
663
|
<options: pretty|json|json-pretty>
|
|
627
664
|
--since=<value> include initial history from a positive duration (30s, 5m, 2h, 1d, 1w) or ISO timestamp
|
|
628
665
|
with timezone; omitted means watch from command start
|
|
666
|
+
--trace-id=<value> exact, case-sensitive stored BT trace ID
|
|
629
667
|
|
|
630
668
|
DESCRIPTION
|
|
631
669
|
Tail Reactor runtime logs through Events. Requires `event:read` and runtime logging already enabled.
|
|
632
670
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
671
|
+
Optional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be
|
|
672
|
+
sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations.
|
|
673
|
+
|
|
674
|
+
Starts watching from command time, regardless of filters. Supply --since to retrieve initial history before following
|
|
675
|
+
new logs. Polls every five seconds with a rolling five-minute overlap that never reaches before the requested start.
|
|
676
|
+
Time windows filter event batches, not individual record occurrence times; a newly arriving batch can contain records
|
|
677
|
+
that occurred before command start. History is limited by server retention and tenant entitlements; the API clamps
|
|
678
|
+
unavailable history. Large initial windows may hit bounded work limits and fail with partial output. Visibility is
|
|
679
|
+
delayed and best-effort; output has no durable resume or global chronological ordering. Application logs come from the
|
|
680
|
+
injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform
|
|
681
|
+
runtime-log gate. Silence does not distinguish an idle resource, a wrong ID or filter, disabled collection, or delayed
|
|
682
|
+
indexing. Runs until interrupted, output closes, or an error occurs.
|
|
642
683
|
|
|
643
684
|
EXAMPLES
|
|
644
685
|
$ bt reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca
|
|
645
686
|
|
|
687
|
+
$ bt reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42
|
|
688
|
+
|
|
689
|
+
$ bt reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30m --format json
|
|
690
|
+
|
|
646
691
|
$ bt reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 30m --format json
|
|
647
692
|
```
|
|
648
693
|
|
|
@@ -6,6 +6,8 @@ export default class Read extends BaseCommand {
|
|
|
6
6
|
id: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
+
'trace-id': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
|
+
'transform-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
11
|
since: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
12
|
until: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
13
|
format: import("@oclif/core/lib/interfaces/parser").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
@@ -7,15 +7,20 @@ const time_1 = require("../../../logs/time");
|
|
|
7
7
|
class Read extends base_1.BaseCommand {
|
|
8
8
|
async run() {
|
|
9
9
|
const now = Date.now();
|
|
10
|
-
const { flags: { 'management-key': apiKey, 'api-base-url': apiBaseUrl, format, since, until, }, args: { id }, } = await this.parse(Read);
|
|
10
|
+
const { flags: { 'management-key': apiKey, 'api-base-url': apiBaseUrl, 'trace-id': traceId, 'transform-type': transformType, format, since, until, }, args: { id }, } = await this.parse(Read);
|
|
11
11
|
if (!id.trim()) {
|
|
12
12
|
this.error('Proxy id must not be blank');
|
|
13
13
|
}
|
|
14
|
+
if (traceId !== undefined && !traceId.trim()) {
|
|
15
|
+
this.error('--trace-id must not be blank');
|
|
16
|
+
}
|
|
14
17
|
await (0, runtime_1.readEventLogs)({
|
|
15
18
|
apiKey,
|
|
16
19
|
apiBaseUrl,
|
|
17
20
|
resourceType: 'proxy',
|
|
18
21
|
resourceId: id,
|
|
22
|
+
traceId,
|
|
23
|
+
transformType: transformType,
|
|
19
24
|
format: format,
|
|
20
25
|
window: (0, time_1.resolveLogWindow)({
|
|
21
26
|
since,
|
|
@@ -30,8 +35,12 @@ class Read extends base_1.BaseCommand {
|
|
|
30
35
|
}
|
|
31
36
|
exports.default = Read;
|
|
32
37
|
Read.description = 'Read a fixed window of Proxy runtime logs through Events and exit. Requires `event:read` and runtime logging already enabled.\n\n' +
|
|
33
|
-
'
|
|
38
|
+
'Optional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations. --transform-type filters request or response transforms, alone or combined with trace ID using AND; omitting it includes both directions.\n\n' +
|
|
39
|
+
'Defaults to the five minutes preceding --until, or command start when --until is omitted, regardless of filters. Supply --since, for example --since 30d, to request a larger window. Explicit relative values use command-start time. Windows include their start and exclude their end, filtering event batch timestamps rather than individual record occurrence times. Each matching batch is expanded in record sequence; flattened output has no global chronological ordering. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Indexing is asynchronous and pagination is not a snapshot, so empty or exhausted results do not prove complete coverage. Large windows may hit bounded work limits and fail with partial output. Application logs come from the injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Does not enable logging or open a tunnel.';
|
|
34
40
|
Read.examples = [
|
|
41
|
+
'<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30d',
|
|
42
|
+
'<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --transform-type request_transform',
|
|
43
|
+
'<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --transform-type response_transform --since 30m',
|
|
35
44
|
'<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 1h --until 30m',
|
|
36
45
|
'<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 2026-10-01T10:00:00Z --until 2026-10-01T10:15:00Z --format json',
|
|
37
46
|
];
|
|
@@ -42,6 +51,13 @@ Read.args = {
|
|
|
42
51
|
}),
|
|
43
52
|
};
|
|
44
53
|
Read.flags = {
|
|
54
|
+
'trace-id': core_1.Flags.string({
|
|
55
|
+
description: 'exact, case-sensitive stored BT trace ID; combines with transform direction using AND',
|
|
56
|
+
}),
|
|
57
|
+
'transform-type': core_1.Flags.string({
|
|
58
|
+
description: 'exact transform direction; includes both directions when omitted',
|
|
59
|
+
options: ['request_transform', 'response_transform'],
|
|
60
|
+
}),
|
|
45
61
|
since: core_1.Flags.string({
|
|
46
62
|
description: 'window start: positive duration (30s, 5m, 2h, 1d, 1w) or ISO timestamp with timezone; defaults to five minutes before the end',
|
|
47
63
|
}),
|
|
@@ -6,6 +6,8 @@ export default class Tail extends BaseCommand {
|
|
|
6
6
|
id: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
+
'trace-id': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
|
+
'transform-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
11
|
since: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
12
|
format: import("@oclif/core/lib/interfaces/parser").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
13
|
};
|
|
@@ -7,15 +7,20 @@ const time_1 = require("../../../logs/time");
|
|
|
7
7
|
class Tail extends base_1.BaseCommand {
|
|
8
8
|
async run() {
|
|
9
9
|
const now = Date.now();
|
|
10
|
-
const { flags: { 'management-key': apiKey, 'api-base-url': apiBaseUrl, format, since, }, args: { id }, } = await this.parse(Tail);
|
|
10
|
+
const { flags: { 'management-key': apiKey, 'api-base-url': apiBaseUrl, 'trace-id': traceId, 'transform-type': transformType, format, since, }, args: { id }, } = await this.parse(Tail);
|
|
11
11
|
if (!id.trim()) {
|
|
12
12
|
this.error('Proxy id must not be blank');
|
|
13
13
|
}
|
|
14
|
+
if (traceId !== undefined && !traceId.trim()) {
|
|
15
|
+
this.error('--trace-id must not be blank');
|
|
16
|
+
}
|
|
14
17
|
await (0, runtime_1.followEventLogs)({
|
|
15
18
|
apiKey,
|
|
16
19
|
apiBaseUrl,
|
|
17
20
|
resourceType: 'proxy',
|
|
18
21
|
resourceId: id,
|
|
22
|
+
traceId,
|
|
23
|
+
transformType: transformType,
|
|
19
24
|
format: format,
|
|
20
25
|
window: (0, time_1.resolveTailWindow)({ since }, now),
|
|
21
26
|
});
|
|
@@ -27,9 +32,13 @@ class Tail extends base_1.BaseCommand {
|
|
|
27
32
|
}
|
|
28
33
|
exports.default = Tail;
|
|
29
34
|
Tail.description = 'Tail Proxy runtime logs through Events. Requires `event:read` and runtime logging already enabled.\n\n' +
|
|
30
|
-
'
|
|
35
|
+
'Optional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations. --transform-type filters request or response transforms, alone or combined with trace ID using AND; omitting it includes both directions. Filters apply to initial history and every live poll.\n\n' +
|
|
36
|
+
'Starts watching from command time, regardless of filters. Supply --since to retrieve initial history before following new logs. Polls every five seconds with a rolling five-minute overlap that never reaches before the requested start. Time windows filter event batches, not individual record occurrence times; a newly arriving batch can contain records that occurred before command start. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Large initial windows may hit bounded work limits and fail with partial output. Visibility is delayed and best-effort; output has no durable resume or global chronological ordering. Application logs come from the injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Silence does not distinguish an idle resource, a wrong ID or filter, disabled collection, or delayed indexing. Runs until interrupted, output closes, or an error occurs.';
|
|
31
37
|
Tail.examples = [
|
|
32
38
|
'<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca',
|
|
39
|
+
'<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42',
|
|
40
|
+
'<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --transform-type request_transform',
|
|
41
|
+
'<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --transform-type response_transform --since 30m --format json',
|
|
33
42
|
'<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 30m --format json',
|
|
34
43
|
];
|
|
35
44
|
Tail.args = {
|
|
@@ -39,6 +48,13 @@ Tail.args = {
|
|
|
39
48
|
}),
|
|
40
49
|
};
|
|
41
50
|
Tail.flags = {
|
|
51
|
+
'trace-id': core_1.Flags.string({
|
|
52
|
+
description: 'exact, case-sensitive stored BT trace ID; combines with transform direction using AND',
|
|
53
|
+
}),
|
|
54
|
+
'transform-type': core_1.Flags.string({
|
|
55
|
+
description: 'exact transform direction; includes both directions when omitted',
|
|
56
|
+
options: ['request_transform', 'response_transform'],
|
|
57
|
+
}),
|
|
42
58
|
since: core_1.Flags.string({
|
|
43
59
|
description: 'include initial history from a positive duration (30s, 5m, 2h, 1d, 1w) or ISO timestamp with timezone; omitted means watch from command start',
|
|
44
60
|
}),
|
|
@@ -6,6 +6,7 @@ export default class Read extends BaseCommand {
|
|
|
6
6
|
id: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
+
'trace-id': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
10
|
since: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
11
|
until: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
12
|
format: import("@oclif/core/lib/interfaces/parser").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
@@ -7,15 +7,19 @@ const time_1 = require("../../../logs/time");
|
|
|
7
7
|
class Read extends base_1.BaseCommand {
|
|
8
8
|
async run() {
|
|
9
9
|
const now = Date.now();
|
|
10
|
-
const { flags: { 'management-key': apiKey, 'api-base-url': apiBaseUrl, format, since, until, }, args: { id }, } = await this.parse(Read);
|
|
10
|
+
const { flags: { 'management-key': apiKey, 'api-base-url': apiBaseUrl, 'trace-id': traceId, format, since, until, }, args: { id }, } = await this.parse(Read);
|
|
11
11
|
if (!id.trim()) {
|
|
12
12
|
this.error('Reactor id must not be blank');
|
|
13
13
|
}
|
|
14
|
+
if (traceId !== undefined && !traceId.trim()) {
|
|
15
|
+
this.error('--trace-id must not be blank');
|
|
16
|
+
}
|
|
14
17
|
await (0, runtime_1.readEventLogs)({
|
|
15
18
|
apiKey,
|
|
16
19
|
apiBaseUrl,
|
|
17
20
|
resourceType: 'reactor',
|
|
18
21
|
resourceId: id,
|
|
22
|
+
traceId,
|
|
19
23
|
format: format,
|
|
20
24
|
window: (0, time_1.resolveLogWindow)({
|
|
21
25
|
since,
|
|
@@ -30,8 +34,10 @@ class Read extends base_1.BaseCommand {
|
|
|
30
34
|
}
|
|
31
35
|
exports.default = Read;
|
|
32
36
|
Read.description = 'Read a fixed window of Reactor runtime logs through Events and exit. Requires `event:read` and runtime logging already enabled.\n\n' +
|
|
33
|
-
'
|
|
37
|
+
'Optional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations.\n\n' +
|
|
38
|
+
'Defaults to the five minutes preceding --until, or command start when --until is omitted, regardless of filters. Supply --since, for example --since 30d, to request a larger window. Explicit relative values use command-start time. Windows include their start and exclude their end, filtering event batch timestamps rather than individual record occurrence times. Each matching batch is expanded in record sequence; flattened output has no global chronological ordering. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Indexing is asynchronous and pagination is not a snapshot, so empty or exhausted results do not prove complete coverage. Large windows may hit bounded work limits and fail with partial output. Application logs come from the injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Does not enable logging or open a tunnel.';
|
|
34
39
|
Read.examples = [
|
|
40
|
+
'<%= config.bin %> reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30d',
|
|
35
41
|
'<%= config.bin %> reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 1h --until 30m',
|
|
36
42
|
'<%= config.bin %> reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 2026-10-01T10:00:00Z --until 2026-10-01T10:15:00Z --format json',
|
|
37
43
|
];
|
|
@@ -42,6 +48,9 @@ Read.args = {
|
|
|
42
48
|
}),
|
|
43
49
|
};
|
|
44
50
|
Read.flags = {
|
|
51
|
+
'trace-id': core_1.Flags.string({
|
|
52
|
+
description: 'exact, case-sensitive stored BT trace ID',
|
|
53
|
+
}),
|
|
45
54
|
since: core_1.Flags.string({
|
|
46
55
|
description: 'window start: positive duration (30s, 5m, 2h, 1d, 1w) or ISO timestamp with timezone; defaults to five minutes before the end',
|
|
47
56
|
}),
|
|
@@ -6,6 +6,7 @@ export default class Tail extends BaseCommand {
|
|
|
6
6
|
id: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
+
'trace-id': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
10
|
since: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
10
11
|
format: import("@oclif/core/lib/interfaces/parser").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
12
|
};
|
|
@@ -7,15 +7,19 @@ const time_1 = require("../../../logs/time");
|
|
|
7
7
|
class Tail extends base_1.BaseCommand {
|
|
8
8
|
async run() {
|
|
9
9
|
const now = Date.now();
|
|
10
|
-
const { flags: { 'management-key': apiKey, 'api-base-url': apiBaseUrl, format, since, }, args: { id }, } = await this.parse(Tail);
|
|
10
|
+
const { flags: { 'management-key': apiKey, 'api-base-url': apiBaseUrl, 'trace-id': traceId, format, since, }, args: { id }, } = await this.parse(Tail);
|
|
11
11
|
if (!id.trim()) {
|
|
12
12
|
this.error('Reactor id must not be blank');
|
|
13
13
|
}
|
|
14
|
+
if (traceId !== undefined && !traceId.trim()) {
|
|
15
|
+
this.error('--trace-id must not be blank');
|
|
16
|
+
}
|
|
14
17
|
await (0, runtime_1.followEventLogs)({
|
|
15
18
|
apiKey,
|
|
16
19
|
apiBaseUrl,
|
|
17
20
|
resourceType: 'reactor',
|
|
18
21
|
resourceId: id,
|
|
22
|
+
traceId,
|
|
19
23
|
format: format,
|
|
20
24
|
window: (0, time_1.resolveTailWindow)({ since }, now),
|
|
21
25
|
});
|
|
@@ -27,9 +31,12 @@ class Tail extends base_1.BaseCommand {
|
|
|
27
31
|
}
|
|
28
32
|
exports.default = Tail;
|
|
29
33
|
Tail.description = 'Tail Reactor runtime logs through Events. Requires `event:read` and runtime logging already enabled.\n\n' +
|
|
30
|
-
'
|
|
34
|
+
'Optional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations.\n\n' +
|
|
35
|
+
'Starts watching from command time, regardless of filters. Supply --since to retrieve initial history before following new logs. Polls every five seconds with a rolling five-minute overlap that never reaches before the requested start. Time windows filter event batches, not individual record occurrence times; a newly arriving batch can contain records that occurred before command start. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Large initial windows may hit bounded work limits and fail with partial output. Visibility is delayed and best-effort; output has no durable resume or global chronological ordering. Application logs come from the injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Silence does not distinguish an idle resource, a wrong ID or filter, disabled collection, or delayed indexing. Runs until interrupted, output closes, or an error occurs.';
|
|
31
36
|
Tail.examples = [
|
|
32
37
|
'<%= config.bin %> reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca',
|
|
38
|
+
'<%= config.bin %> reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42',
|
|
39
|
+
'<%= config.bin %> reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30m --format json',
|
|
33
40
|
'<%= config.bin %> reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 30m --format json',
|
|
34
41
|
];
|
|
35
42
|
Tail.args = {
|
|
@@ -39,6 +46,9 @@ Tail.args = {
|
|
|
39
46
|
}),
|
|
40
47
|
};
|
|
41
48
|
Tail.flags = {
|
|
49
|
+
'trace-id': core_1.Flags.string({
|
|
50
|
+
description: 'exact, case-sensitive stored BT trace ID',
|
|
51
|
+
}),
|
|
42
52
|
since: core_1.Flags.string({
|
|
43
53
|
description: 'include initial history from a positive duration (30s, 5m, 2h, 1d, 1w) or ISO timestamp with timezone; omitted means watch from command start',
|
|
44
54
|
}),
|
package/dist/logs/events.d.ts
CHANGED
|
@@ -25,6 +25,10 @@ interface EventLogRecord {
|
|
|
25
25
|
outcome?: string;
|
|
26
26
|
duration_ms?: number;
|
|
27
27
|
}
|
|
28
|
+
interface EventLogFilters {
|
|
29
|
+
traceId?: string;
|
|
30
|
+
transformType?: EventLogRecord['transform_type'];
|
|
31
|
+
}
|
|
28
32
|
interface EventLogPage {
|
|
29
33
|
batches: EventLogRecord[][];
|
|
30
34
|
next: string | null;
|
|
@@ -39,7 +43,7 @@ declare class EventsReadError extends Error {
|
|
|
39
43
|
}
|
|
40
44
|
/** Resolve and validate the API origin before any credential is sent. */
|
|
41
45
|
declare const resolveEventsOrigin: (apiBaseUrl?: string) => string;
|
|
42
|
-
interface ReadEventPageOptions {
|
|
46
|
+
interface ReadEventPageOptions extends EventLogFilters {
|
|
43
47
|
origin: string;
|
|
44
48
|
apiKey: string;
|
|
45
49
|
resourceType: ResourceType;
|
|
@@ -52,5 +56,5 @@ interface ReadEventPageOptions {
|
|
|
52
56
|
}
|
|
53
57
|
/** Read and validate one Events page. Continuations contain only the opaque cursor. */
|
|
54
58
|
declare const readEventPage: (options: ReadEventPageOptions) => Promise<EventLogPage>;
|
|
55
|
-
export type { EventLogPage, EventLogRecord, ReadEventPageOptions, ResourceType, };
|
|
59
|
+
export type { EventLogFilters, EventLogPage, EventLogRecord, ReadEventPageOptions, ResourceType, };
|
|
56
60
|
export { EventsReadError, readEventPage, resolveEventsOrigin };
|
package/dist/logs/events.js
CHANGED
|
@@ -243,6 +243,11 @@ const projectBatch = (input, options) => {
|
|
|
243
243
|
else if (options.resourceType === 'proxy') {
|
|
244
244
|
return invalidPage();
|
|
245
245
|
}
|
|
246
|
+
if ((options.traceId !== undefined && input.traceId !== options.traceId) ||
|
|
247
|
+
(options.transformType !== undefined &&
|
|
248
|
+
transformType !== options.transformType)) {
|
|
249
|
+
return invalidPage();
|
|
250
|
+
}
|
|
246
251
|
if (!nonnegativeSafeInteger(data.sequence_start) ||
|
|
247
252
|
!nonnegativeSafeInteger(data.sequence_end) ||
|
|
248
253
|
data.sequence_start > data.sequence_end ||
|
|
@@ -424,10 +429,15 @@ const readEventPage = async (options) => {
|
|
|
424
429
|
/[\u0000-\u001F\u007F]/u.test(options.apiKey) ||
|
|
425
430
|
!isNonEmptyString(options.resourceId) ||
|
|
426
431
|
(options.resourceType !== 'reactor' && options.resourceType !== 'proxy') ||
|
|
432
|
+
(options.traceId !== undefined && !isNonEmptyString(options.traceId)) ||
|
|
433
|
+
(options.transformType !== undefined &&
|
|
434
|
+
(options.resourceType !== 'proxy' ||
|
|
435
|
+
(options.transformType !== 'request_transform' &&
|
|
436
|
+
options.transformType !== 'response_transform'))) ||
|
|
427
437
|
!Number.isSafeInteger(options.start) ||
|
|
428
|
-
!Number.isSafeInteger(options.end) ||
|
|
429
438
|
options.start > options.end ||
|
|
430
439
|
!Number.isFinite(new Date(options.start).getTime()) ||
|
|
440
|
+
!Number.isSafeInteger(options.end) ||
|
|
431
441
|
!Number.isFinite(new Date(options.end).getTime()) ||
|
|
432
442
|
(options.cursor !== undefined &&
|
|
433
443
|
(typeof options.cursor !== 'string' ||
|
|
@@ -513,6 +523,7 @@ const readEventPage = async (options) => {
|
|
|
513
523
|
const page = await bt.events.list(options.cursor === undefined
|
|
514
524
|
? {
|
|
515
525
|
type: options.resourceType === 'reactor' ? 'reactor.log' : 'proxy.log',
|
|
526
|
+
traceId: options.traceId,
|
|
516
527
|
startDate: new Date(options.start),
|
|
517
528
|
endDate: new Date(options.end),
|
|
518
529
|
size: PAGE_SIZE,
|
|
@@ -521,7 +532,12 @@ const readEventPage = async (options) => {
|
|
|
521
532
|
abortSignal: options.signal,
|
|
522
533
|
maxRetries: 0,
|
|
523
534
|
queryParams: options.cursor === undefined
|
|
524
|
-
? {
|
|
535
|
+
? {
|
|
536
|
+
[`data.${options.resourceType}.id`]: options.resourceId,
|
|
537
|
+
...(options.transformType !== undefined
|
|
538
|
+
? { 'data.transform_type': options.transformType }
|
|
539
|
+
: {}),
|
|
540
|
+
}
|
|
525
541
|
: undefined,
|
|
526
542
|
});
|
|
527
543
|
payload = page.response;
|
|
@@ -556,6 +572,8 @@ const readEventPage = async (options) => {
|
|
|
556
572
|
resourceId: options.resourceId,
|
|
557
573
|
start: options.start,
|
|
558
574
|
end: options.end,
|
|
575
|
+
traceId: options.traceId,
|
|
576
|
+
transformType: options.transformType,
|
|
559
577
|
}));
|
|
560
578
|
if (options.signal.aborted) {
|
|
561
579
|
throw new EventsReadError('Events request was interrupted.', {
|
package/dist/logs/runtime.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ResourceType } from './events';
|
|
1
|
+
import type { EventLogFilters, ResourceType } from './events';
|
|
2
2
|
import type { RuntimeLogFormat } from './format';
|
|
3
3
|
import type { LogWindow } from './time';
|
|
4
|
-
interface RuntimeLogOptions {
|
|
4
|
+
interface RuntimeLogOptions extends EventLogFilters {
|
|
5
5
|
apiKey: string;
|
|
6
6
|
apiBaseUrl?: string;
|
|
7
7
|
resourceType: ResourceType;
|
|
@@ -9,7 +9,7 @@ interface RuntimeLogOptions {
|
|
|
9
9
|
format: RuntimeLogFormat;
|
|
10
10
|
window?: LogWindow;
|
|
11
11
|
}
|
|
12
|
-
/** Retrieve one
|
|
12
|
+
/** Retrieve one finite query window, including every continuation, then finish. */
|
|
13
13
|
declare const readEventLogs: (options: RuntimeLogOptions & {
|
|
14
14
|
window: LogWindow;
|
|
15
15
|
}) => Promise<void>;
|
package/dist/logs/runtime.js
CHANGED
|
@@ -216,6 +216,8 @@ const streamEventLogs = async (options, mode) => {
|
|
|
216
216
|
apiKey: options.apiKey,
|
|
217
217
|
resourceType: options.resourceType,
|
|
218
218
|
resourceId: options.resourceId,
|
|
219
|
+
traceId: options.traceId,
|
|
220
|
+
transformType: options.transformType,
|
|
219
221
|
start,
|
|
220
222
|
end,
|
|
221
223
|
cursor,
|
|
@@ -352,7 +354,7 @@ const streamEventLogs = async (options, mode) => {
|
|
|
352
354
|
}
|
|
353
355
|
}
|
|
354
356
|
};
|
|
355
|
-
/** Retrieve one
|
|
357
|
+
/** Retrieve one finite query window, including every continuation, then finish. */
|
|
356
358
|
const readEventLogs = (options) => streamEventLogs(options, 'read');
|
|
357
359
|
exports.readEventLogs = readEventLogs;
|
|
358
360
|
/** Retrieve initial context, then keep reading overlapping live windows. */
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.
|
|
2
|
+
"version": "4.4.0",
|
|
3
3
|
"commands": {
|
|
4
4
|
"applications:create": {
|
|
5
5
|
"id": "applications:create",
|
|
@@ -1135,13 +1135,16 @@
|
|
|
1135
1135
|
},
|
|
1136
1136
|
"proxies:logs:read": {
|
|
1137
1137
|
"id": "proxies:logs:read",
|
|
1138
|
-
"description": "Read a fixed window of Proxy runtime logs through Events and exit. Requires `event:read` and runtime logging already enabled.\n\nDefaults to the five minutes preceding --until, or command start when --until is omitted.
|
|
1138
|
+
"description": "Read a fixed window of Proxy runtime logs through Events and exit. Requires `event:read` and runtime logging already enabled.\n\nOptional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations. --transform-type filters request or response transforms, alone or combined with trace ID using AND; omitting it includes both directions.\n\nDefaults to the five minutes preceding --until, or command start when --until is omitted, regardless of filters. Supply --since, for example --since 30d, to request a larger window. Explicit relative values use command-start time. Windows include their start and exclude their end, filtering event batch timestamps rather than individual record occurrence times. Each matching batch is expanded in record sequence; flattened output has no global chronological ordering. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Indexing is asynchronous and pagination is not a snapshot, so empty or exhausted results do not prove complete coverage. Large windows may hit bounded work limits and fail with partial output. Application logs come from the injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Does not enable logging or open a tunnel.",
|
|
1139
1139
|
"strict": true,
|
|
1140
1140
|
"pluginName": "@basis-theory-labs/cli",
|
|
1141
1141
|
"pluginAlias": "@basis-theory-labs/cli",
|
|
1142
1142
|
"pluginType": "core",
|
|
1143
1143
|
"aliases": [],
|
|
1144
1144
|
"examples": [
|
|
1145
|
+
"<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30d",
|
|
1146
|
+
"<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --transform-type request_transform",
|
|
1147
|
+
"<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --transform-type response_transform --since 30m",
|
|
1145
1148
|
"<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 1h --until 30m",
|
|
1146
1149
|
"<%= config.bin %> proxies logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 2026-10-01T10:00:00Z --until 2026-10-01T10:15:00Z --format json"
|
|
1147
1150
|
],
|
|
@@ -1161,6 +1164,22 @@
|
|
|
1161
1164
|
"hidden": true,
|
|
1162
1165
|
"multiple": false
|
|
1163
1166
|
},
|
|
1167
|
+
"trace-id": {
|
|
1168
|
+
"name": "trace-id",
|
|
1169
|
+
"type": "option",
|
|
1170
|
+
"description": "exact, case-sensitive stored BT trace ID; combines with transform direction using AND",
|
|
1171
|
+
"multiple": false
|
|
1172
|
+
},
|
|
1173
|
+
"transform-type": {
|
|
1174
|
+
"name": "transform-type",
|
|
1175
|
+
"type": "option",
|
|
1176
|
+
"description": "exact transform direction; includes both directions when omitted",
|
|
1177
|
+
"multiple": false,
|
|
1178
|
+
"options": [
|
|
1179
|
+
"request_transform",
|
|
1180
|
+
"response_transform"
|
|
1181
|
+
]
|
|
1182
|
+
},
|
|
1164
1183
|
"since": {
|
|
1165
1184
|
"name": "since",
|
|
1166
1185
|
"type": "option",
|
|
@@ -1196,7 +1215,7 @@
|
|
|
1196
1215
|
},
|
|
1197
1216
|
"proxies:logs:tail": {
|
|
1198
1217
|
"id": "proxies:logs:tail",
|
|
1199
|
-
"description": "Tail Proxy runtime logs through Events. Requires `event:read` and runtime logging already enabled.\n\nStarts watching from command time. Supply --since to retrieve initial history before following new logs. Polls every five seconds with a rolling five-minute overlap that never reaches before the requested start.
|
|
1218
|
+
"description": "Tail Proxy runtime logs through Events. Requires `event:read` and runtime logging already enabled.\n\nOptional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations. --transform-type filters request or response transforms, alone or combined with trace ID using AND; omitting it includes both directions. Filters apply to initial history and every live poll.\n\nStarts watching from command time, regardless of filters. Supply --since to retrieve initial history before following new logs. Polls every five seconds with a rolling five-minute overlap that never reaches before the requested start. Time windows filter event batches, not individual record occurrence times; a newly arriving batch can contain records that occurred before command start. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Large initial windows may hit bounded work limits and fail with partial output. Visibility is delayed and best-effort; output has no durable resume or global chronological ordering. Application logs come from the injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Silence does not distinguish an idle resource, a wrong ID or filter, disabled collection, or delayed indexing. Runs until interrupted, output closes, or an error occurs.",
|
|
1200
1219
|
"strict": true,
|
|
1201
1220
|
"pluginName": "@basis-theory-labs/cli",
|
|
1202
1221
|
"pluginAlias": "@basis-theory-labs/cli",
|
|
@@ -1204,6 +1223,9 @@
|
|
|
1204
1223
|
"aliases": [],
|
|
1205
1224
|
"examples": [
|
|
1206
1225
|
"<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca",
|
|
1226
|
+
"<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42",
|
|
1227
|
+
"<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --transform-type request_transform",
|
|
1228
|
+
"<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --transform-type response_transform --since 30m --format json",
|
|
1207
1229
|
"<%= config.bin %> proxies logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 30m --format json"
|
|
1208
1230
|
],
|
|
1209
1231
|
"flags": {
|
|
@@ -1222,6 +1244,22 @@
|
|
|
1222
1244
|
"hidden": true,
|
|
1223
1245
|
"multiple": false
|
|
1224
1246
|
},
|
|
1247
|
+
"trace-id": {
|
|
1248
|
+
"name": "trace-id",
|
|
1249
|
+
"type": "option",
|
|
1250
|
+
"description": "exact, case-sensitive stored BT trace ID; combines with transform direction using AND",
|
|
1251
|
+
"multiple": false
|
|
1252
|
+
},
|
|
1253
|
+
"transform-type": {
|
|
1254
|
+
"name": "transform-type",
|
|
1255
|
+
"type": "option",
|
|
1256
|
+
"description": "exact transform direction; includes both directions when omitted",
|
|
1257
|
+
"multiple": false,
|
|
1258
|
+
"options": [
|
|
1259
|
+
"request_transform",
|
|
1260
|
+
"response_transform"
|
|
1261
|
+
]
|
|
1262
|
+
},
|
|
1225
1263
|
"since": {
|
|
1226
1264
|
"name": "since",
|
|
1227
1265
|
"type": "option",
|
|
@@ -1251,13 +1289,14 @@
|
|
|
1251
1289
|
},
|
|
1252
1290
|
"reactors:logs:read": {
|
|
1253
1291
|
"id": "reactors:logs:read",
|
|
1254
|
-
"description": "Read a fixed window of Reactor runtime logs through Events and exit. Requires `event:read` and runtime logging already enabled.\n\nDefaults to the five minutes preceding --until, or command start when --until is omitted. Explicit relative values use command-start time. Windows include their start and exclude their end, filtering event batch timestamps rather than individual record occurrence times. Each matching batch is expanded in record sequence; flattened output has no global chronological ordering. History is
|
|
1292
|
+
"description": "Read a fixed window of Reactor runtime logs through Events and exit. Requires `event:read` and runtime logging already enabled.\n\nOptional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations.\n\nDefaults to the five minutes preceding --until, or command start when --until is omitted, regardless of filters. Supply --since, for example --since 30d, to request a larger window. Explicit relative values use command-start time. Windows include their start and exclude their end, filtering event batch timestamps rather than individual record occurrence times. Each matching batch is expanded in record sequence; flattened output has no global chronological ordering. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Indexing is asynchronous and pagination is not a snapshot, so empty or exhausted results do not prove complete coverage. Large windows may hit bounded work limits and fail with partial output. Application logs come from the injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Does not enable logging or open a tunnel.",
|
|
1255
1293
|
"strict": true,
|
|
1256
1294
|
"pluginName": "@basis-theory-labs/cli",
|
|
1257
1295
|
"pluginAlias": "@basis-theory-labs/cli",
|
|
1258
1296
|
"pluginType": "core",
|
|
1259
1297
|
"aliases": [],
|
|
1260
1298
|
"examples": [
|
|
1299
|
+
"<%= config.bin %> reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30d",
|
|
1261
1300
|
"<%= config.bin %> reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 1h --until 30m",
|
|
1262
1301
|
"<%= config.bin %> reactors logs read 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 2026-10-01T10:00:00Z --until 2026-10-01T10:15:00Z --format json"
|
|
1263
1302
|
],
|
|
@@ -1277,6 +1316,12 @@
|
|
|
1277
1316
|
"hidden": true,
|
|
1278
1317
|
"multiple": false
|
|
1279
1318
|
},
|
|
1319
|
+
"trace-id": {
|
|
1320
|
+
"name": "trace-id",
|
|
1321
|
+
"type": "option",
|
|
1322
|
+
"description": "exact, case-sensitive stored BT trace ID",
|
|
1323
|
+
"multiple": false
|
|
1324
|
+
},
|
|
1280
1325
|
"since": {
|
|
1281
1326
|
"name": "since",
|
|
1282
1327
|
"type": "option",
|
|
@@ -1312,7 +1357,7 @@
|
|
|
1312
1357
|
},
|
|
1313
1358
|
"reactors:logs:tail": {
|
|
1314
1359
|
"id": "reactors:logs:tail",
|
|
1315
|
-
"description": "Tail Reactor runtime logs through Events. Requires `event:read` and runtime logging already enabled.\n\nStarts watching from command time. Supply --since to retrieve initial history before following new logs. Polls every five seconds with a rolling five-minute overlap that never reaches before the requested start. Time windows filter event batches, not individual record occurrence times; a newly arriving batch can contain records that occurred before command start. History is
|
|
1360
|
+
"description": "Tail Reactor runtime logs through Events. Requires `event:read` and runtime logging already enabled.\n\nOptional --trace-id matches the effective stored BT trace ID exactly and case-sensitively. A submitted header may be sanitized by Vault; the CLI does not normalize or trim it. A reused trace ID can match multiple invocations.\n\nStarts watching from command time, regardless of filters. Supply --since to retrieve initial history before following new logs. Polls every five seconds with a rolling five-minute overlap that never reaches before the requested start. Time windows filter event batches, not individual record occurrence times; a newly arriving batch can contain records that occurred before command start. History is limited by server retention and tenant entitlements; the API clamps unavailable history. Large initial windows may hit bounded work limits and fail with partial output. Visibility is delayed and best-effort; output has no durable resume or global chronological ordering. Application logs come from the injected `logger`, not arbitrary stdout or `console.log`; collection requires resource opt-in and the platform runtime-log gate. Silence does not distinguish an idle resource, a wrong ID or filter, disabled collection, or delayed indexing. Runs until interrupted, output closes, or an error occurs.",
|
|
1316
1361
|
"strict": true,
|
|
1317
1362
|
"pluginName": "@basis-theory-labs/cli",
|
|
1318
1363
|
"pluginAlias": "@basis-theory-labs/cli",
|
|
@@ -1320,6 +1365,8 @@
|
|
|
1320
1365
|
"aliases": [],
|
|
1321
1366
|
"examples": [
|
|
1322
1367
|
"<%= config.bin %> reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca",
|
|
1368
|
+
"<%= config.bin %> reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42",
|
|
1369
|
+
"<%= config.bin %> reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --trace-id customer_Order-42 --since 30m --format json",
|
|
1323
1370
|
"<%= config.bin %> reactors logs tail 03858bf5-32d3-4a2e-b74b-daeea0883bca --since 30m --format json"
|
|
1324
1371
|
],
|
|
1325
1372
|
"flags": {
|
|
@@ -1338,6 +1385,12 @@
|
|
|
1338
1385
|
"hidden": true,
|
|
1339
1386
|
"multiple": false
|
|
1340
1387
|
},
|
|
1388
|
+
"trace-id": {
|
|
1389
|
+
"name": "trace-id",
|
|
1390
|
+
"type": "option",
|
|
1391
|
+
"description": "exact, case-sensitive stored BT trace ID",
|
|
1392
|
+
"multiple": false
|
|
1393
|
+
},
|
|
1341
1394
|
"since": {
|
|
1342
1395
|
"name": "since",
|
|
1343
1396
|
"type": "option",
|