@kitsi/cli 0.1.10 → 0.1.12
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/dist/bin/commands/logs.d.ts +21 -0
- package/dist/bin/commands/logs.d.ts.map +1 -0
- package/dist/bin/commands/logs.js +66 -0
- package/dist/bin/commands/logs.js.map +1 -0
- package/dist/bin/commands/profile/config.d.ts +15 -0
- package/dist/bin/commands/profile/config.d.ts.map +1 -0
- package/dist/bin/commands/profile/config.js +12 -0
- package/dist/bin/commands/profile/config.js.map +1 -0
- package/dist/bin/commands/profile/delete.d.ts.map +1 -1
- package/dist/bin/commands/profile/delete.js +4 -11
- package/dist/bin/commands/profile/delete.js.map +1 -1
- package/dist/bin/commands/profile/show.d.ts.map +1 -1
- package/dist/bin/commands/profile/show.js +4 -11
- package/dist/bin/commands/profile/show.js.map +1 -1
- package/dist/bin/commands/types.d.ts.map +1 -1
- package/dist/bin/commands/types.js +14 -20
- package/dist/bin/commands/types.js.map +1 -1
- package/dist/bin/config/loader.d.ts +5 -0
- package/dist/bin/config/loader.d.ts.map +1 -1
- package/dist/bin/config/loader.js +6 -0
- package/dist/bin/config/loader.js.map +1 -1
- package/dist/bin/config/schema.d.ts.map +1 -1
- package/dist/bin/config/schema.js +12 -0
- package/dist/bin/config/schema.js.map +1 -1
- package/dist/bin/logs/line-reader.d.ts +4 -0
- package/dist/bin/logs/line-reader.d.ts.map +1 -0
- package/dist/bin/logs/line-reader.js +69 -0
- package/dist/bin/logs/line-reader.js.map +1 -0
- package/dist/bin/logs/lookup-code.d.ts +4 -0
- package/dist/bin/logs/lookup-code.d.ts.map +1 -0
- package/dist/bin/logs/lookup-code.js +24 -0
- package/dist/bin/logs/lookup-code.js.map +1 -0
- package/dist/bin/logs/run-log-reader.d.ts +26 -0
- package/dist/bin/logs/run-log-reader.d.ts.map +1 -0
- package/dist/bin/logs/run-log-reader.js +133 -0
- package/dist/bin/logs/run-log-reader.js.map +1 -0
- package/dist/bin/logs/run-log-store.d.ts +59 -0
- package/dist/bin/logs/run-log-store.d.ts.map +1 -0
- package/dist/bin/logs/run-log-store.js +255 -0
- package/dist/bin/logs/run-log-store.js.map +1 -0
- package/dist/bin/runtime.d.ts.map +1 -1
- package/dist/bin/runtime.js +9 -0
- package/dist/bin/runtime.js.map +1 -1
- package/dist/bin/services/execution-runner.d.ts +2 -0
- package/dist/bin/services/execution-runner.d.ts.map +1 -1
- package/dist/bin/services/execution-runner.js +39 -5
- package/dist/bin/services/execution-runner.js.map +1 -1
- package/dist/bin/services/run-orchestrator.d.ts +1 -0
- package/dist/bin/services/run-orchestrator.d.ts.map +1 -1
- package/dist/bin/services/run-orchestrator.js +30 -14
- package/dist/bin/services/run-orchestrator.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from './base.js';
|
|
2
|
+
export default class LogsCommand extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
code: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
'last-failed': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
tail: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
runner: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
llm: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
'llm-tail': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
color: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
private buildText;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=logs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/logs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAe,MAAM,WAAW,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,OAAgB,OAAO,SAA8C;IAErE,OAAgB,KAAK;;;;;;;;;;;;;MAYnB;IAEa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCnC,OAAO,CAAC,SAAS;CAQlB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import { parseDuration } from '../args/values.js';
|
|
4
|
+
import { InvalidArgumentsError, NotFoundError } from '../errors/index.js';
|
|
5
|
+
import { OutputPresenter } from '../infrastructure/output/presenter.js';
|
|
6
|
+
import { RunLogReader } from '../logs/run-log-reader.js';
|
|
7
|
+
import { BaseCommand, globalFlags } from './base.js';
|
|
8
|
+
export default class LogsCommand extends BaseCommand {
|
|
9
|
+
static summary = 'Retrieve stored task logs by lookup code';
|
|
10
|
+
static flags = {
|
|
11
|
+
...globalFlags,
|
|
12
|
+
code: Flags.string({
|
|
13
|
+
description: 'Lookup code from LLM failure output',
|
|
14
|
+
required: false,
|
|
15
|
+
}),
|
|
16
|
+
'last-failed': Flags.boolean({
|
|
17
|
+
description: 'Retrieve the most recent failed task log',
|
|
18
|
+
}),
|
|
19
|
+
tail: Flags.integer({
|
|
20
|
+
description: 'Show only the last N lines',
|
|
21
|
+
}),
|
|
22
|
+
};
|
|
23
|
+
async run() {
|
|
24
|
+
const { flags, raw } = await this.parse(LogsCommand);
|
|
25
|
+
const rawArgs = this.rawArgsFromParse(raw);
|
|
26
|
+
const globals = await this.resolveGlobals(flags, rawArgs);
|
|
27
|
+
if (flags.tail !== undefined && flags.tail < 0) {
|
|
28
|
+
throw new InvalidArgumentsError('--tail must be >= 0');
|
|
29
|
+
}
|
|
30
|
+
if (!flags.code && !flags['last-failed']) {
|
|
31
|
+
throw new InvalidArgumentsError('Provide --code <lookup-code> or --last-failed');
|
|
32
|
+
}
|
|
33
|
+
if (flags.code && flags['last-failed']) {
|
|
34
|
+
throw new InvalidArgumentsError('Use either --code or --last-failed, not both');
|
|
35
|
+
}
|
|
36
|
+
const logsDirectory = globals.config.logs?.directory ?? join(globals.cwd, '.kitsi', 'logs');
|
|
37
|
+
const retention = globals.config.logs?.retention ?? '1d';
|
|
38
|
+
const retentionMs = parseDuration(retention) ?? 86_400_000;
|
|
39
|
+
const reader = new RunLogReader({ logsDirectory, retentionMs });
|
|
40
|
+
const result = flags.code
|
|
41
|
+
? await reader.readByCode(flags.code, flags.tail)
|
|
42
|
+
: await reader.readLastFailed(flags.tail);
|
|
43
|
+
if (!result) {
|
|
44
|
+
if (flags.code) {
|
|
45
|
+
throw new NotFoundError(`Log code "${flags.code}" not found`);
|
|
46
|
+
}
|
|
47
|
+
throw new NotFoundError('No failed task logs found');
|
|
48
|
+
}
|
|
49
|
+
const presenter = new OutputPresenter(globals.output, globals.format);
|
|
50
|
+
presenter.present({
|
|
51
|
+
toText: () => this.buildText(result),
|
|
52
|
+
toLlmText: () => this.buildText(result),
|
|
53
|
+
toData: () => result,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
buildText(result) {
|
|
57
|
+
if (!result)
|
|
58
|
+
return [];
|
|
59
|
+
const lines = [
|
|
60
|
+
`log ${result.task.lookupCode} run=${result.runId} plan=${result.plan} task=${result.task.name} status=${result.task.status}`,
|
|
61
|
+
...result.warnings.map((warning) => `warn: ${warning}`),
|
|
62
|
+
];
|
|
63
|
+
return [...lines, ...result.lines];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/bin/commands/logs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const profileNameArg: {
|
|
2
|
+
name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
3
|
+
};
|
|
4
|
+
export declare const profileCommandFlags: {
|
|
5
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
runner: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
llm: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
'llm-tail': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
color: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/bin/commands/profile/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;CAK1B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;CAE/B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { globalFlags } from '../base.js';
|
|
3
|
+
export const profileNameArg = {
|
|
4
|
+
name: Args.string({
|
|
5
|
+
description: 'Profile name',
|
|
6
|
+
required: true,
|
|
7
|
+
}),
|
|
8
|
+
};
|
|
9
|
+
export const profileCommandFlags = {
|
|
10
|
+
...globalFlags,
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/bin/commands/profile/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,WAAW;CACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/bin/commands/profile/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/bin/commands/profile/delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IAC3D,OAAgB,OAAO,SAAsB;IAE7C,OAAgB,IAAI;;MAAkB;IAEtC,OAAgB,KAAK;;;;;;;;;;MAAuB;IAE7B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAcpC"}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
import { Args } from '@oclif/core';
|
|
2
1
|
import { OutputPresenter } from '../../infrastructure/output/presenter.js';
|
|
3
2
|
import { ProfileRepository } from '../../infrastructure/profiles/repository.js';
|
|
4
|
-
import { BaseCommand
|
|
3
|
+
import { BaseCommand } from '../base.js';
|
|
4
|
+
import { profileCommandFlags, profileNameArg } from './config.js';
|
|
5
5
|
import { resolveProfilesDir } from './utils.js';
|
|
6
6
|
export default class ProfileDeleteCommand extends BaseCommand {
|
|
7
7
|
static summary = 'Delete a profile';
|
|
8
|
-
static args =
|
|
9
|
-
|
|
10
|
-
description: 'Profile name',
|
|
11
|
-
required: true,
|
|
12
|
-
}),
|
|
13
|
-
};
|
|
14
|
-
static flags = {
|
|
15
|
-
...globalFlags,
|
|
16
|
-
};
|
|
8
|
+
static args = profileNameArg;
|
|
9
|
+
static flags = profileCommandFlags;
|
|
17
10
|
async run() {
|
|
18
11
|
const { args, flags, raw } = await this.parse(ProfileDeleteCommand);
|
|
19
12
|
const rawArgs = this.rawArgsFromParse(raw);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/bin/commands/profile/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/bin/commands/profile/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IAC3D,MAAM,CAAU,OAAO,GAAG,kBAAkB,CAAC;IAE7C,MAAM,CAAU,IAAI,GAAG,cAAc,CAAC;IAEtC,MAAM,CAAU,KAAK,GAAG,mBAAmB,CAAC;IAEnC,KAAK,CAAC,GAAG;QAChB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtE,SAAS,CAAC,OAAO,CAAC;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,mBAAmB,IAAI,CAAC,IAAI,EAAE;YAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACnD,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../../src/bin/commands/profile/show.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../../src/bin/commands/profile/show.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,OAAgB,OAAO,SAAoB;IAE3C,OAAgB,IAAI;;MAAkB;IAEtC,OAAgB,KAAK;;;;;;;;;;MAAuB;IAE7B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBpC"}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
import { Args } from '@oclif/core';
|
|
2
1
|
import { OutputPresenter } from '../../infrastructure/output/presenter.js';
|
|
3
2
|
import { ProfileRepository } from '../../infrastructure/profiles/repository.js';
|
|
4
|
-
import { BaseCommand
|
|
3
|
+
import { BaseCommand } from '../base.js';
|
|
4
|
+
import { profileCommandFlags, profileNameArg } from './config.js';
|
|
5
5
|
import { maskSecrets, resolveProfilesDir } from './utils.js';
|
|
6
6
|
export default class ProfileShowCommand extends BaseCommand {
|
|
7
7
|
static summary = 'Show a profile';
|
|
8
|
-
static args =
|
|
9
|
-
|
|
10
|
-
description: 'Profile name',
|
|
11
|
-
required: true,
|
|
12
|
-
}),
|
|
13
|
-
};
|
|
14
|
-
static flags = {
|
|
15
|
-
...globalFlags,
|
|
16
|
-
};
|
|
8
|
+
static args = profileNameArg;
|
|
9
|
+
static flags = profileCommandFlags;
|
|
17
10
|
async run() {
|
|
18
11
|
const { args, flags, raw } = await this.parse(ProfileShowCommand);
|
|
19
12
|
const rawArgs = this.rawArgsFromParse(raw);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../../src/bin/commands/profile/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../../src/bin/commands/profile/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,MAAM,CAAU,OAAO,GAAG,gBAAgB,CAAC;IAE3C,MAAM,CAAU,IAAI,GAAG,cAAc,CAAC;IAEtC,MAAM,CAAU,KAAK,GAAG,mBAAmB,CAAC;IAEnC,KAAK,CAAC,GAAG;QAChB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,SAAS,CAAC,OAAO,CAAC;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC;gBACZ,YAAY,OAAO,CAAC,IAAI,EAAE;gBAC1B,SAAS,OAAO,CAAC,IAAI,EAAE;gBACvB,YAAY,OAAO,CAAC,OAAO,EAAE;gBAC7B,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACnD,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACrC,YAAY,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;aAC5C;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACb,GAAG,OAAO;gBACV,OAAO,EAAE,aAAa;aACvB,CAAC;SACH,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/types.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAe,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/types.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAe,MAAM,WAAW,CAAC;AAsBrD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,OAAgB,OAAO,SAA8C;IAErE,OAAgB,KAAK;;;;;;;;;;;;;MAWnB;IAEa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsDpC"}
|
|
@@ -5,6 +5,18 @@ import { OutputPresenter } from '../infrastructure/output/presenter.js';
|
|
|
5
5
|
import { KITSI_TYPES_VERSION, createKitsiTypes, parseKitsiTypesVersion, resolveTypesPath, } from '../pipeline-authoring.js';
|
|
6
6
|
import { BaseCommand, globalFlags } from './base.js';
|
|
7
7
|
const formatPath = (cwd, path) => isAbsolute(path) ? relative(cwd, path) : path;
|
|
8
|
+
const presentUpToDate = (globals, displayPath, version) => {
|
|
9
|
+
const presenter = new OutputPresenter(globals.output, globals.format);
|
|
10
|
+
presenter.present({
|
|
11
|
+
toText: () => `${displayPath} is up to date`,
|
|
12
|
+
toData: () => ({
|
|
13
|
+
ok: true,
|
|
14
|
+
path: displayPath,
|
|
15
|
+
version,
|
|
16
|
+
upToDate: true,
|
|
17
|
+
}),
|
|
18
|
+
});
|
|
19
|
+
};
|
|
8
20
|
export default class TypesCommand extends BaseCommand {
|
|
9
21
|
static summary = 'Generate or check Kitsi type definitions';
|
|
10
22
|
static flags = {
|
|
@@ -39,16 +51,7 @@ export default class TypesCommand extends BaseCommand {
|
|
|
39
51
|
if (version !== KITSI_TYPES_VERSION) {
|
|
40
52
|
throw new ExecutionError(`${displayPath} is out of date`);
|
|
41
53
|
}
|
|
42
|
-
|
|
43
|
-
presenter.present({
|
|
44
|
-
toText: () => `${displayPath} is up to date`,
|
|
45
|
-
toData: () => ({
|
|
46
|
-
ok: true,
|
|
47
|
-
path: displayPath,
|
|
48
|
-
version,
|
|
49
|
-
upToDate: true,
|
|
50
|
-
}),
|
|
51
|
-
});
|
|
54
|
+
presentUpToDate(globals, displayPath, version);
|
|
52
55
|
return;
|
|
53
56
|
}
|
|
54
57
|
if (exists) {
|
|
@@ -58,16 +61,7 @@ export default class TypesCommand extends BaseCommand {
|
|
|
58
61
|
throw new ExecutionError(`${displayPath} exists but was not generated by kitsi types (use --force to overwrite)`);
|
|
59
62
|
}
|
|
60
63
|
if (!flags.force && version === KITSI_TYPES_VERSION) {
|
|
61
|
-
|
|
62
|
-
presenter.present({
|
|
63
|
-
toText: () => `${displayPath} is up to date`,
|
|
64
|
-
toData: () => ({
|
|
65
|
-
ok: true,
|
|
66
|
-
path: displayPath,
|
|
67
|
-
version,
|
|
68
|
-
upToDate: true,
|
|
69
|
-
}),
|
|
70
|
-
});
|
|
64
|
+
presentUpToDate(globals, displayPath, version);
|
|
71
65
|
return;
|
|
72
66
|
}
|
|
73
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/bin/commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,IAAY,EAAU,EAAE,CACvD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAU,OAAO,GAAG,0CAA0C,CAAC;IAErE,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW;QACd,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,+CAA+C;SAC7D,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,mDAAmD;SACjE,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,kCAAkC;SAChD,CAAC;KACH,CAAC;IAEO,KAAK,CAAC,GAAG;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,cAAc,CAAC,GAAG,WAAW,aAAa,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBACpC,MAAM,IAAI,cAAc,CAAC,GAAG,WAAW,iBAAiB,CAAC,CAAC;YAC5D,CAAC;YACD,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/bin/commands/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,10 @@ export interface KitsiConfigCache extends KitsiConfigDirectories {
|
|
|
25
25
|
exclude?: string[];
|
|
26
26
|
inputs?: Record<string, string[]>;
|
|
27
27
|
}
|
|
28
|
+
export interface KitsiConfigLogs extends KitsiConfigDirectories {
|
|
29
|
+
enabled?: boolean;
|
|
30
|
+
retention?: string;
|
|
31
|
+
}
|
|
28
32
|
export interface KitsiConfigTypes {
|
|
29
33
|
generate?: boolean;
|
|
30
34
|
path?: string;
|
|
@@ -46,6 +50,7 @@ export interface KitsiConfig {
|
|
|
46
50
|
profiles?: KitsiConfigDirectories;
|
|
47
51
|
cache?: KitsiConfigCache;
|
|
48
52
|
artifacts?: KitsiConfigDirectories;
|
|
53
|
+
logs?: KitsiConfigLogs;
|
|
49
54
|
plugins?: string[];
|
|
50
55
|
}
|
|
51
56
|
export declare const defaultConfig: KitsiConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/bin/config/loader.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/bin/config/loader.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,WAoC3B,CAAC;AAYF,eAAO,MAAM,iBAAiB,GAC5B,KAAK,MAAM,EACX,aAAa,MAAM,EACnB,MAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,KACpD,MAAM,GAAG,IAaX,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,EACX,aAAa,MAAM,EACnB,MAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,KACpD,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAehD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,WAAW,EAAE,UAAU,WAAW,KAAG,WAwBtE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,MAAM,GAAG,SAGtE,CAAC"}
|
|
@@ -33,6 +33,11 @@ export const defaultConfig = {
|
|
|
33
33
|
artifacts: {
|
|
34
34
|
directory: '.kitsi/artifacts',
|
|
35
35
|
},
|
|
36
|
+
logs: {
|
|
37
|
+
enabled: true,
|
|
38
|
+
directory: '.kitsi/logs',
|
|
39
|
+
retention: '1d',
|
|
40
|
+
},
|
|
36
41
|
plugins: [],
|
|
37
42
|
};
|
|
38
43
|
const resolveCandidate = (cwd, candidate) => resolvePath(cwd, candidate);
|
|
@@ -103,6 +108,7 @@ export const mergeConfig = (base, override) => {
|
|
|
103
108
|
remote: { ...base.cache?.remote, ...override.cache?.remote },
|
|
104
109
|
},
|
|
105
110
|
artifacts: { ...base.artifacts, ...override.artifacts },
|
|
111
|
+
logs: { ...base.logs, ...override.logs },
|
|
106
112
|
plugins: override.plugins ?? base.plugins ?? [],
|
|
107
113
|
};
|
|
108
114
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/bin/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/bin/config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/bin/config/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/bin/config/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwI/C,eAAO,MAAM,cAAc,GAAI,QAAQ,WAAW,KAAG,IAcpD,CAAC"}
|
|
@@ -30,6 +30,7 @@ const validateDirectory = (label, section) => {
|
|
|
30
30
|
return;
|
|
31
31
|
validateOptional(section.directory, isString, `${label}.directory must be a string`);
|
|
32
32
|
};
|
|
33
|
+
const isDurationString = (value) => /^(\d+(?:\.\d+)?)(ms|s|m|h|d)$/u.test(value);
|
|
33
34
|
const validateGenerateSection = (label, section) => {
|
|
34
35
|
if (!section)
|
|
35
36
|
return;
|
|
@@ -76,6 +77,16 @@ const validateCache = (cache) => {
|
|
|
76
77
|
validateCacheInputs(cache.inputs);
|
|
77
78
|
validateCacheRemote(cache.remote);
|
|
78
79
|
};
|
|
80
|
+
const validateLogs = (logs) => {
|
|
81
|
+
if (!logs)
|
|
82
|
+
return;
|
|
83
|
+
validateDirectory('logs', logs);
|
|
84
|
+
validateOptional(logs.enabled, isBoolean, 'logs.enabled must be a boolean');
|
|
85
|
+
validateOptional(logs.retention, isString, 'logs.retention must be a duration string');
|
|
86
|
+
if (logs.retention !== undefined) {
|
|
87
|
+
ensure(isDurationString(logs.retention), 'logs.retention must be a duration string');
|
|
88
|
+
}
|
|
89
|
+
};
|
|
79
90
|
const validatePlugins = (plugins) => {
|
|
80
91
|
if (plugins === undefined)
|
|
81
92
|
return;
|
|
@@ -97,6 +108,7 @@ export const validateConfig = (config) => {
|
|
|
97
108
|
validateDirectory('profiles', config.profiles);
|
|
98
109
|
validateCache(config.cache);
|
|
99
110
|
validateDirectory('artifacts', config.artifacts);
|
|
111
|
+
validateLogs(config.logs);
|
|
100
112
|
validatePlugins(config.plugins);
|
|
101
113
|
};
|
|
102
114
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/bin/config/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/bin/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const splitNonEmptyLines: (value: string) => string[];
|
|
2
|
+
export declare const readAllNonEmptyLines: (filePath: string) => Promise<string[]>;
|
|
3
|
+
export declare const readTailNonEmptyLines: (filePath: string, maxLines: number) => Promise<string[]>;
|
|
4
|
+
//# sourceMappingURL=line-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-reader.d.ts","sourceRoot":"","sources":["../../../src/bin/logs/line-reader.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAAM,EAInB,CAAC;AAEvC,eAAO,MAAM,oBAAoB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAI7E,CAAC;AA6BF,eAAO,MAAM,qBAAqB,GAChC,UAAU,MAAM,EAChB,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,EAAE,CAyBlB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { open, readFile } from 'node:fs/promises';
|
|
2
|
+
const CHUNK_SIZE = 64 * 1024;
|
|
3
|
+
const normalizeLine = (value) => value.replace(/\r$/u, '');
|
|
4
|
+
export const splitNonEmptyLines = (value) => value
|
|
5
|
+
.split(/\r?\n/u)
|
|
6
|
+
.map((line) => line.trimEnd())
|
|
7
|
+
.filter((line) => line.length > 0);
|
|
8
|
+
export const readAllNonEmptyLines = async (filePath) => {
|
|
9
|
+
const text = await readFile(filePath, 'utf8').catch(() => '');
|
|
10
|
+
if (text.length === 0)
|
|
11
|
+
return [];
|
|
12
|
+
return splitNonEmptyLines(text);
|
|
13
|
+
};
|
|
14
|
+
const collectCompleteTailLines = (value, output, maxLines) => {
|
|
15
|
+
let buffer = value;
|
|
16
|
+
while (output.length < maxLines) {
|
|
17
|
+
const lineBreakIndex = buffer.lastIndexOf('\n');
|
|
18
|
+
if (lineBreakIndex < 0)
|
|
19
|
+
break;
|
|
20
|
+
const line = normalizeLine(buffer.slice(lineBreakIndex + 1));
|
|
21
|
+
buffer = buffer.slice(0, lineBreakIndex);
|
|
22
|
+
if (line.length > 0) {
|
|
23
|
+
output.push(line);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return { buffer };
|
|
27
|
+
};
|
|
28
|
+
const pushRemainderLine = (value, output, maxLines) => {
|
|
29
|
+
if (output.length >= maxLines)
|
|
30
|
+
return;
|
|
31
|
+
if (value.length === 0)
|
|
32
|
+
return;
|
|
33
|
+
const line = normalizeLine(value.trimEnd());
|
|
34
|
+
if (line.length > 0) {
|
|
35
|
+
output.push(line);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
export const readTailNonEmptyLines = async (filePath, maxLines) => {
|
|
39
|
+
if (maxLines <= 0)
|
|
40
|
+
return [];
|
|
41
|
+
const fileHandle = await open(filePath, 'r').catch(() => null);
|
|
42
|
+
if (!fileHandle)
|
|
43
|
+
return [];
|
|
44
|
+
try {
|
|
45
|
+
const { size } = await fileHandle.stat();
|
|
46
|
+
if (size <= 0)
|
|
47
|
+
return [];
|
|
48
|
+
let cursor = size;
|
|
49
|
+
let buffer = '';
|
|
50
|
+
const reversed = [];
|
|
51
|
+
while (cursor > 0 && reversed.length < maxLines) {
|
|
52
|
+
const bytesToRead = Math.min(CHUNK_SIZE, cursor);
|
|
53
|
+
cursor -= bytesToRead;
|
|
54
|
+
const chunk = Buffer.allocUnsafe(bytesToRead);
|
|
55
|
+
const { bytesRead } = await fileHandle.read(chunk, 0, bytesToRead, cursor);
|
|
56
|
+
if (bytesRead <= 0)
|
|
57
|
+
break;
|
|
58
|
+
const combined = chunk.toString('utf8', 0, bytesRead) + buffer;
|
|
59
|
+
const collected = collectCompleteTailLines(combined, reversed, maxLines);
|
|
60
|
+
buffer = collected.buffer;
|
|
61
|
+
}
|
|
62
|
+
pushRemainderLine(buffer, reversed, maxLines);
|
|
63
|
+
return reversed.reverse();
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
await fileHandle.close();
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=line-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-reader.js","sourceRoot":"","sources":["../../../src/bin/logs/line-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup-code.d.ts","sourceRoot":"","sources":["../../../src/bin/logs/lookup-code.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,EAAE,aAAa,MAAM,KAAG,MACZ,CAAC;AAE3D,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MASnD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,OAAiD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
const LOOKUP_CODE_PATTERN = /^KLOG-[A-Z0-9]{6}-[0-9]{2,}$/u;
|
|
3
|
+
const shortRunToken = (runId) => {
|
|
4
|
+
const digest = createHash('sha1').update(runId, 'utf8').digest('hex');
|
|
5
|
+
const value = BigInt(`0x${digest.slice(0, 10)}`);
|
|
6
|
+
return value.toString(36).toUpperCase().padStart(6, '0').slice(0, 6);
|
|
7
|
+
};
|
|
8
|
+
const taskToken = (ordinal) => String(Math.max(1, Math.trunc(ordinal))).padStart(2, '0');
|
|
9
|
+
export const createLookupCode = (runId, taskOrdinal) => `KLOG-${shortRunToken(runId)}-${taskToken(taskOrdinal)}`;
|
|
10
|
+
export const normalizeLookupCode = (value) => {
|
|
11
|
+
const trimmed = value.trim();
|
|
12
|
+
const parts = trimmed.split('-', 3);
|
|
13
|
+
if (parts.length !== 3)
|
|
14
|
+
return trimmed.toUpperCase();
|
|
15
|
+
const [prefix, run, task] = parts.map((part) => part.trim());
|
|
16
|
+
if (!prefix || !run || !task)
|
|
17
|
+
return trimmed.toUpperCase();
|
|
18
|
+
const numericTask = Number.parseInt(task, 10);
|
|
19
|
+
if (!Number.isFinite(numericTask) || numericTask <= 0)
|
|
20
|
+
return trimmed.toUpperCase();
|
|
21
|
+
return `${prefix.toUpperCase()}-${run.toUpperCase()}-${taskToken(numericTask)}`;
|
|
22
|
+
};
|
|
23
|
+
export const isLookupCode = (value) => LOOKUP_CODE_PATTERN.test(value.trim());
|
|
24
|
+
//# sourceMappingURL=lookup-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup-code.js","sourceRoot":"","sources":["../../../src/bin/logs/lookup-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAE5D,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,OAAe,EAAU,EAAE,CAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAU,EAAE,CAC7E,QAAQ,aAAa,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;AAE3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE;IAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACpF,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;AAClF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { RunLogStatus, RunLogTaskMeta } from './run-log-store.js';
|
|
2
|
+
interface RunLogReaderOptions {
|
|
3
|
+
logsDirectory: string;
|
|
4
|
+
retentionMs: number;
|
|
5
|
+
}
|
|
6
|
+
export interface RunLogLookup {
|
|
7
|
+
runId: string;
|
|
8
|
+
plan: string;
|
|
9
|
+
status: RunLogStatus;
|
|
10
|
+
startedAt: string;
|
|
11
|
+
finishedAt: string;
|
|
12
|
+
task: RunLogTaskMeta;
|
|
13
|
+
lines: string[];
|
|
14
|
+
warnings: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare class RunLogReader {
|
|
17
|
+
private readonly options;
|
|
18
|
+
constructor(options: RunLogReaderOptions);
|
|
19
|
+
readByCode(code: string, tail?: number): Promise<RunLogLookup | null>;
|
|
20
|
+
readLastFailed(tail?: number): Promise<RunLogLookup | null>;
|
|
21
|
+
private findMatches;
|
|
22
|
+
private collectRuns;
|
|
23
|
+
private readMatch;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=run-log-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-log-reader.d.ts","sourceRoot":"","sources":["../../../src/bin/logs/run-log-reader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEnF,UAAU,mBAAmB;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAiCD,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEnD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAerE,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAuBnD,WAAW;YAgBX,WAAW;YA8BX,SAAS;CAqBxB"}
|