@n1k1t/pipelain 0.3.3 → 0.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.
Files changed (59) hide show
  1. package/assets/report/index.hbs +245 -0
  2. package/assets/report/main.css +552 -0
  3. package/assets/report/main.js +14 -0
  4. package/lib/src/env.d.ts +5 -1
  5. package/lib/src/env.d.ts.map +1 -1
  6. package/lib/src/env.js +5 -1
  7. package/lib/src/env.js.map +1 -1
  8. package/lib/src/index.d.ts +1 -0
  9. package/lib/src/index.d.ts.map +1 -1
  10. package/lib/src/index.js +1 -0
  11. package/lib/src/index.js.map +1 -1
  12. package/lib/src/models/pipeline/model.d.ts +10 -6
  13. package/lib/src/models/pipeline/model.d.ts.map +1 -1
  14. package/lib/src/models/pipeline/model.js +120 -33
  15. package/lib/src/models/pipeline/model.js.map +1 -1
  16. package/lib/src/models/pipeline/report/index.d.ts +14 -0
  17. package/lib/src/models/pipeline/report/index.d.ts.map +1 -0
  18. package/lib/src/models/pipeline/report/index.js +96 -0
  19. package/lib/src/models/pipeline/report/index.js.map +1 -0
  20. package/lib/src/models/pipeline/report/types.d.ts +53 -0
  21. package/lib/src/models/pipeline/report/types.d.ts.map +1 -0
  22. package/lib/src/models/pipeline/report/types.js +3 -0
  23. package/lib/src/models/pipeline/report/types.js.map +1 -0
  24. package/lib/src/models/pipeline/session.d.ts +34 -8
  25. package/lib/src/models/pipeline/session.d.ts.map +1 -1
  26. package/lib/src/models/pipeline/session.js +16 -5
  27. package/lib/src/models/pipeline/session.js.map +1 -1
  28. package/lib/src/models/pipeline/stdout/compiled/console.d.ts.map +1 -1
  29. package/lib/src/models/pipeline/stdout/compiled/console.js +10 -4
  30. package/lib/src/models/pipeline/stdout/compiled/console.js.map +1 -1
  31. package/lib/src/models/pipeline/stdout/model.d.ts.map +1 -1
  32. package/lib/src/models/pipeline/stdout/model.js +4 -2
  33. package/lib/src/models/pipeline/stdout/model.js.map +1 -1
  34. package/lib/src/models/pipeline/steps/ai/actions/model.d.ts +6 -2
  35. package/lib/src/models/pipeline/steps/ai/actions/model.d.ts.map +1 -1
  36. package/lib/src/models/pipeline/steps/ai/actions/model.js +4 -2
  37. package/lib/src/models/pipeline/steps/ai/actions/model.js.map +1 -1
  38. package/lib/src/models/pipeline/steps/ai/actions/reasoning.d.ts +17 -2
  39. package/lib/src/models/pipeline/steps/ai/actions/reasoning.d.ts.map +1 -1
  40. package/lib/src/models/pipeline/steps/ai/actions/reasoning.js +20 -4
  41. package/lib/src/models/pipeline/steps/ai/actions/reasoning.js.map +1 -1
  42. package/lib/src/models/pipeline/steps/ai/actions/tool.d.ts +19 -2
  43. package/lib/src/models/pipeline/steps/ai/actions/tool.d.ts.map +1 -1
  44. package/lib/src/models/pipeline/steps/ai/actions/tool.js +21 -4
  45. package/lib/src/models/pipeline/steps/ai/actions/tool.js.map +1 -1
  46. package/lib/src/models/pipeline/steps/ai/errors.d.ts +4 -1
  47. package/lib/src/models/pipeline/steps/ai/errors.d.ts.map +1 -1
  48. package/lib/src/models/pipeline/steps/ai/errors.js +15 -9
  49. package/lib/src/models/pipeline/steps/ai/errors.js.map +1 -1
  50. package/lib/src/models/pipeline/steps/ai/index.d.ts.map +1 -1
  51. package/lib/src/models/pipeline/steps/ai/index.js +32 -14
  52. package/lib/src/models/pipeline/steps/ai/index.js.map +1 -1
  53. package/lib/src/models/pipeline/steps/ai/utils.d.ts +1 -1
  54. package/lib/src/models/pipeline/steps/ai/utils.d.ts.map +1 -1
  55. package/lib/src/models/pipeline/steps/ai/utils.js +6 -6
  56. package/lib/src/models/pipeline/steps/ai/utils.js.map +1 -1
  57. package/lib/src/setup.js +17 -0
  58. package/lib/src/setup.js.map +1 -1
  59. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/models/pipeline/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/models/pipeline/model.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,56 @@
1
1
  "use strict";
2
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
3
+ if (value !== null && value !== void 0) {
4
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
5
+ var dispose, inner;
6
+ if (async) {
7
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
8
+ dispose = value[Symbol.asyncDispose];
9
+ }
10
+ if (dispose === void 0) {
11
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
12
+ dispose = value[Symbol.dispose];
13
+ if (async) inner = dispose;
14
+ }
15
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
16
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
17
+ env.stack.push({ value: value, dispose: dispose, async: async });
18
+ }
19
+ else if (async) {
20
+ env.stack.push({ async: true });
21
+ }
22
+ return value;
23
+ };
24
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
25
+ return function (env) {
26
+ function fail(e) {
27
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
28
+ env.hasError = true;
29
+ }
30
+ var r, s = 0;
31
+ function next() {
32
+ while (r = env.stack.pop()) {
33
+ try {
34
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
35
+ if (r.dispose) {
36
+ var result = r.dispose.call(r.value);
37
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
38
+ }
39
+ else s |= 1;
40
+ }
41
+ catch (e) {
42
+ fail(e);
43
+ }
44
+ }
45
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
46
+ if (env.hasError) throw env.error;
47
+ }
48
+ return next();
49
+ };
50
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
51
+ var e = new Error(message);
52
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
53
+ });
2
54
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
55
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
56
  };
@@ -10,7 +62,9 @@ const utils_1 = require("../../utils");
10
62
  const parameters_1 = require("./parameters");
11
63
  const context_1 = require("./context");
12
64
  const session_1 = require("./session");
65
+ const report_1 = require("./report");
13
66
  const project_1 = require("../project");
67
+ const env_1 = __importDefault(require("../../env"));
14
68
  class PipelineCompiler {
15
69
  constructor(title, definition) {
16
70
  this.title = title;
@@ -22,7 +76,12 @@ class PipelineCompiler {
22
76
  }
23
77
  /** Marks all nested steps to debug */
24
78
  debug() {
25
- this.definition.debug = true;
79
+ this.definition.flags.debug = true;
80
+ return this;
81
+ }
82
+ /** Makes report of pipeline ai steps execution */
83
+ report() {
84
+ this.definition.flags.report = true;
26
85
  return this;
27
86
  }
28
87
  /** Provides input schema */
@@ -34,7 +93,7 @@ class PipelineCompiler {
34
93
  clone() {
35
94
  return new PipelineCompiler(this.title, {
36
95
  defaults: this.definition.defaults,
37
- debug: this.definition.debug,
96
+ flags: this.definition.flags,
38
97
  steps: this.definition.steps,
39
98
  input: this.definition.input,
40
99
  });
@@ -64,11 +123,14 @@ class PipelineCompiler {
64
123
  ? provided.parent.session
65
124
  : provided.parent.pipeline.session
66
125
  : null;
126
+ const flags = provided?.parent instanceof steps_1.PipelineStep
127
+ ? provided.parent.pipeline.flags
128
+ : provided?.parent?.flags;
67
129
  const pipeline = Pipeline.build({
68
130
  description: this.definition.description,
69
131
  title: this.title,
70
132
  schema: this.definition.input ?? v3_1.default.undefined(),
71
- debug: provided?.debug ?? this.definition.debug,
133
+ flags: flags ?? this.definition.flags,
72
134
  context: context_1.PipelineContext.build(project, this.definition.defaults),
73
135
  session: session ?? session_1.PipelineSession.build(),
74
136
  parent: provided?.parent,
@@ -82,6 +144,10 @@ class PipelineCompiler {
82
144
  static build(title) {
83
145
  return new PipelineCompiler(title, {
84
146
  steps: [],
147
+ flags: {
148
+ report: env_1.default.flags.report,
149
+ debug: env_1.default.flags.debug,
150
+ },
85
151
  });
86
152
  }
87
153
  }
@@ -91,47 +157,68 @@ class Pipeline {
91
157
  this.provided = provided;
92
158
  this.context = this.provided.context;
93
159
  this.session = this.provided.session;
94
- this.debug = this.provided.debug ?? false;
95
160
  this.title = this.provided.title;
161
+ this.flags = this.provided.flags;
96
162
  this.description = this.provided.description ?? `Pipeline of ${this.title}`;
97
163
  this.schema = this.provided.schema;
98
164
  this.parent = this.provided.parent;
99
165
  }
100
166
  async run(input) {
101
- this.context.input = input ?? this.context.input;
102
- const parameters = parameters_1.PipelineParameters.build(this);
103
- const meta = (0, utils_1.buildMetaManager)();
104
- await this.schema.parseAsync(this.context.input);
105
- this.session.emit('run', { pipeline: this, meta: meta.init() });
106
- for (const step of this.provided.steps) {
107
- if (step.type === 'named' && step.name in this.context.state) {
108
- continue;
109
- }
110
- const handled = await step.handler(parameters);
111
- const compiled = handled instanceof steps_1.PipelineStepCompiler || handled instanceof PipelineCompiler
112
- ? (await handled.compile({
113
- project: this.context.project,
114
- session: parameters.session,
115
- pipeline: this,
116
- parent: this,
117
- debug: this.provided.debug,
118
- }))
119
- : null;
120
- if (!compiled) {
167
+ const env_2 = { stack: [], error: void 0, hasError: false };
168
+ try {
169
+ this.context.input = input ?? this.context.input;
170
+ const parameters = parameters_1.PipelineParameters.build(this);
171
+ const meta = (0, utils_1.buildMetaManager)();
172
+ const report = __addDisposableResource(env_2, (0, utils_1.disposify)({
173
+ entity: (this.flags.report && !this.parent) ? report_1.PipelineReport.build(this.session) : null,
174
+ exit: async (entity) => entity?.save(),
175
+ }), true);
176
+ await this.schema.parseAsync(this.context.input);
177
+ this.session.emit('run', { pipeline: this, meta: meta.init() });
178
+ for (const step of this.provided.steps) {
179
+ if (step.type === 'named' && step.name in this.context.state) {
180
+ continue;
181
+ }
182
+ const handled = await step.handler(parameters);
183
+ const compiled = handled instanceof steps_1.PipelineStepCompiler || handled instanceof PipelineCompiler
184
+ ? (await handled.compile({
185
+ project: this.context.project,
186
+ session: parameters.session,
187
+ pipeline: this,
188
+ parent: this,
189
+ }))
190
+ : null;
191
+ if (!compiled) {
192
+ if (step.type === 'named') {
193
+ Object.assign(this.context.state, { [step.name]: handled });
194
+ }
195
+ continue;
196
+ }
197
+ const result = compiled instanceof steps_1.PipelineStep
198
+ ? await compiled.run(parameters)
199
+ : await compiled.run(undefined);
121
200
  if (step.type === 'named') {
122
- Object.assign(this.context.state, { [step.name]: handled });
201
+ Object.assign(this.context.state, { [step.name]: result });
123
202
  }
124
- continue;
125
203
  }
126
- const result = compiled instanceof steps_1.PipelineStep
127
- ? await compiled.run(parameters)
128
- : await compiled.run(undefined);
129
- if (step.type === 'named') {
130
- Object.assign(this.context.state, { [step.name]: result });
204
+ if (report.entity?.snapshots.length) {
205
+ this.session.emit('log', {
206
+ pipeline: this,
207
+ message: [`Report will be saved into [${report.entity.location}]`],
208
+ });
131
209
  }
210
+ this.session.emit('run', { pipeline: this, meta: meta.done() });
211
+ return this.context.state;
212
+ }
213
+ catch (e_1) {
214
+ env_2.error = e_1;
215
+ env_2.hasError = true;
216
+ }
217
+ finally {
218
+ const result_1 = __disposeResources(env_2);
219
+ if (result_1)
220
+ await result_1;
132
221
  }
133
- this.session.emit('run', { pipeline: this, meta: meta.done() });
134
- return this.context.state;
135
222
  }
136
223
  /** Traces instances from this to origin */
137
224
  trace() {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/models/pipeline/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/models/pipeline/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { TPipelineReportSnapshot } from './types';
2
+ import type { PipelineSession } from '../session';
3
+ export declare class PipelineReport {
4
+ session: PipelineSession;
5
+ snapshots: TPipelineReportSnapshot[];
6
+ location: string;
7
+ constructor(session: PipelineSession);
8
+ /** Compiles report HTML file content */
9
+ compile(): Promise<string | null>;
10
+ /** Compiles and saves HTML report file */
11
+ save(location?: string): Promise<void | null>;
12
+ static build(session: PipelineSession): PipelineReport;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/models/pipeline/report/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA+B,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOlD,qBAAa,cAAc;IAQN,OAAO,EAAE,eAAe;IAPpC,SAAS,EAAE,uBAAuB,EAAE,CAAM;IAC1C,QAAQ,EAAE,MAAM,CAIrB;gBAEiB,OAAO,EAAE,eAAe;IAE3C,wCAAwC;IAC3B,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwC9C,0CAA0C;IAC7B,IAAI,CAAC,QAAQ,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAUzE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc;CA4CvD"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PipelineReport = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const handlebars_1 = __importDefault(require("handlebars"));
9
+ const promises_1 = __importDefault(require("fs/promises"));
10
+ const utils_1 = require("../../../utils");
11
+ const file_1 = require("../../file");
12
+ const env_1 = __importDefault(require("../../../env"));
13
+ class PipelineReport {
14
+ constructor(session) {
15
+ this.session = session;
16
+ this.snapshots = [];
17
+ this.location = path_1.default.join('.pipelain', 'reports', `${new Date(this.session.timestamp).toLocaleTimeString()}-${this.session.id}.html`);
18
+ }
19
+ /** Compiles report HTML file content */
20
+ async compile() {
21
+ if (!this.snapshots.length) {
22
+ return null;
23
+ }
24
+ const assets = path_1.default.join(env_1.default.dirs.assets, 'report');
25
+ const template = await promises_1.default.readFile(path_1.default.join(assets, 'index.hbs'), 'utf8');
26
+ return handlebars_1.default.compile(template)((0, utils_1.cast)({
27
+ snapshots: this.snapshots,
28
+ usage: {
29
+ llm: {
30
+ separated: this.session.meta.usage.llm,
31
+ total: Object
32
+ .values(this.session.meta.usage.llm)
33
+ .reduce((acc, usage) => {
34
+ acc.completion += usage.completion;
35
+ acc.prompt += usage.prompt;
36
+ return acc;
37
+ }, { completion: 0, prompt: 0 }),
38
+ },
39
+ },
40
+ session: {
41
+ timestamp: this.session.timestamp,
42
+ id: this.session.id,
43
+ },
44
+ assets: {
45
+ main: {
46
+ script: await promises_1.default.readFile(path_1.default.join(assets, 'main.js'), 'utf8'),
47
+ style: await promises_1.default.readFile(path_1.default.join(assets, 'main.css'), 'utf8'),
48
+ },
49
+ },
50
+ }));
51
+ }
52
+ /** Compiles and saves HTML report file */
53
+ async save(location = this.location) {
54
+ const compiled = await this.compile();
55
+ if (!compiled) {
56
+ return null;
57
+ }
58
+ const file = await file_1.File.build(location);
59
+ await file.write(compiled);
60
+ }
61
+ static build(session) {
62
+ const report = new PipelineReport(session);
63
+ session.on('step:ai:complete', (event) => report.snapshots.push({
64
+ state: 'DONE',
65
+ timestamp: Date.now(),
66
+ messages: event.messages,
67
+ actions: event.actions.map((action) => action.toPlain()),
68
+ output: event.output,
69
+ usage: event.usage,
70
+ step: {
71
+ title: event.step.trace().reverse().map((entity) => entity.title).join(' | '),
72
+ },
73
+ llm: {
74
+ name: event.llm.name,
75
+ model: event.llm.model,
76
+ },
77
+ }));
78
+ session.on('step:ai:error', (event) => report.snapshots.push({
79
+ state: 'ERROR',
80
+ timestamp: Date.now(),
81
+ messages: event.messages,
82
+ actions: event.actions.map((action) => action.toPlain()),
83
+ error: event.error,
84
+ step: {
85
+ title: event.step.trace().reverse().join(' | '),
86
+ },
87
+ llm: {
88
+ name: event.llm.name,
89
+ model: event.llm.model,
90
+ },
91
+ }));
92
+ return report;
93
+ }
94
+ }
95
+ exports.PipelineReport = PipelineReport;
96
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/models/pipeline/report/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { LanguageModelUsage } from 'ai';
2
+ import type { PipelineAiError, PipelineAiReasoningAction, PipelineAiToolAction } from '../steps';
3
+ import type { PipelineSession } from '../session';
4
+ interface TPipelineReportSnapshotStep {
5
+ title: string;
6
+ }
7
+ export interface TPipelineReportSnapshotLlm {
8
+ name: string;
9
+ model: string;
10
+ }
11
+ export interface TPipelineReportSnapshotMessages {
12
+ system: string;
13
+ user: string;
14
+ }
15
+ export type TPipelineReportSnapshot = {
16
+ state: 'ERROR';
17
+ timestamp: number;
18
+ step: TPipelineReportSnapshotStep;
19
+ llm: TPipelineReportSnapshotLlm;
20
+ messages: TPipelineReportSnapshotMessages;
21
+ actions: (PipelineAiToolAction['TPlain'] | PipelineAiReasoningAction['TPlain'])[];
22
+ error: PipelineAiError;
23
+ } | {
24
+ state: 'DONE';
25
+ timestamp: number;
26
+ step: TPipelineReportSnapshotStep;
27
+ llm: TPipelineReportSnapshotLlm;
28
+ messages: TPipelineReportSnapshotMessages;
29
+ output: unknown;
30
+ actions: (PipelineAiToolAction['TPlain'] | PipelineAiReasoningAction['TPlain'])[];
31
+ usage: LanguageModelUsage;
32
+ };
33
+ export interface IPipelineReportTemplateData {
34
+ snapshots: TPipelineReportSnapshot[];
35
+ usage: {
36
+ llm: {
37
+ total: PipelineSession['meta']['usage']['llm'][string];
38
+ separated: PipelineSession['meta']['usage']['llm'];
39
+ };
40
+ };
41
+ session: {
42
+ timestamp: number;
43
+ id: string;
44
+ };
45
+ assets: {
46
+ main: {
47
+ script: string;
48
+ style: string;
49
+ };
50
+ };
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/models/pipeline/report/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,UAAU,2BAA2B;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACA,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,2BAA2B,CAAC;IAClC,GAAG,EAAE,0BAA0B,CAAC;IAEhC,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,OAAO,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAClF,KAAK,EAAE,eAAe,CAAC;CACxB,GACC;IACA,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,2BAA2B,CAAC;IAClC,GAAG,EAAE,0BAA0B,CAAC;IAEhC,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,MAAM,EAAE,OAAO,CAAC;IAEhB,OAAO,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAClF,KAAK,EAAE,kBAAkB,CAAC;CAC3B,CAAC;AAEJ,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,uBAAuB,EAAE,CAAC;IAErC,KAAK,EAAE;QACL,GAAG,EAAE;YACH,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;YACvD,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;SACpD,CAAC;KACH,CAAC;IAEF,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IAEF,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACH"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/models/pipeline/report/types.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import { LanguageModelUsage } from 'ai';
1
2
  import EventEmitter from 'events';
2
3
  import type { PipelineAiError, PipelineAiReasoningAction, PipelineAiToolAction, PipelineStep } from './steps';
3
4
  import type { LlmProvider } from '../llm';
@@ -9,11 +10,36 @@ export interface IPipelineSessionEventMeta {
9
10
  export interface IPipelineSessionEvents {
10
11
  'step:ai:reasoning': [PipelineAiReasoningAction];
11
12
  'step:ai:tool': [PipelineAiToolAction];
13
+ 'step:ai:complete': [
14
+ {
15
+ step: PipelineStep;
16
+ llm: LlmProvider;
17
+ actions: (PipelineAiToolAction | PipelineAiReasoningAction)[];
18
+ output: unknown;
19
+ usage: LanguageModelUsage;
20
+ messages: {
21
+ system: string;
22
+ user: string;
23
+ };
24
+ }
25
+ ];
26
+ 'step:ai:error': [
27
+ {
28
+ step: PipelineStep;
29
+ llm: LlmProvider;
30
+ actions: (PipelineAiToolAction | PipelineAiReasoningAction)[];
31
+ error: PipelineAiError;
32
+ messages: {
33
+ system: string;
34
+ user: string;
35
+ };
36
+ }
37
+ ];
12
38
  'step:ai:fallback': [
13
39
  {
14
40
  step: PipelineStep;
15
- reason: PipelineAiError;
16
- providers: {
41
+ error: PipelineAiError;
42
+ llm: {
17
43
  old: LlmProvider;
18
44
  new: LlmProvider;
19
45
  };
@@ -39,7 +65,7 @@ export interface IPipelineSessionEvents {
39
65
  ];
40
66
  'warning': [
41
67
  {
42
- message: string;
68
+ message: string[];
43
69
  }
44
70
  ];
45
71
  }
@@ -51,11 +77,11 @@ export declare class PipelineSession extends EventEmitter<IPipelineSessionEvents
51
77
  counters: {
52
78
  steps: (value?: number) => number;
53
79
  };
54
- llm: {
55
- tokens: {
56
- input: number;
57
- output: number;
58
- };
80
+ usage: {
81
+ llm: Record<string, {
82
+ prompt: number;
83
+ completion: number;
84
+ }>;
59
85
  };
60
86
  };
61
87
  static build(): PipelineSession;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/models/pipeline/session.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,CAAC,yBAAyB,CAAC,CAAC;IACjD,cAAc,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAEvC,kBAAkB,EAAE;QAAC;YACnB,IAAI,EAAE,YAAY,CAAC;YACnB,MAAM,EAAE,eAAe,CAAC;YAExB,SAAS,EAAE;gBACT,GAAG,EAAE,WAAW,CAAC;gBACjB,GAAG,EAAE,WAAW,CAAC;aAClB,CAAC;SACH;KAAC,CAAC;IAEH,UAAU,EAAE;QAAC;YACX,IAAI,EAAE,YAAY,CAAC;YACnB,IAAI,EAAE,yBAAyB,CAAC;SACjC;KAAC,CAAC;IAEH,KAAK,EAAE;QAAC;YACN,QAAQ,EAAE,QAAQ,CAAC;YACnB,IAAI,EAAE,yBAAyB,CAAC;SACjC;KAAC,CAAC;IAEH,KAAK,EAAE;QAAC;YACN,QAAQ,EAAE,QAAQ,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,CAAC;SACpB;KAAC,CAAC;IAEH,SAAS,EAAE;QAAC;YACV,OAAO,EAAE,MAAM,CAAC;SACjB;KAAC,CAAC;CACJ;AAED,qBAAa,eAAgB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAChE,OAAO,EAAG,sBAAsB,CAAC;IAEjC,SAAS,EAAE,MAAM,CAAc;IAC/B,EAAE,EAAE,MAAM,CAA+B;IAEzC,IAAI;;;;;;;;;;MAWT;IAEF,MAAM,CAAC,KAAK,IAAI,eAAe;CAWhC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/models/pipeline/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,CAAC,yBAAyB,CAAC,CAAC;IACjD,cAAc,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAEvC,kBAAkB,EAAE;QAAC;YACnB,IAAI,EAAE,YAAY,CAAC;YACnB,GAAG,EAAE,WAAW,CAAC;YAEjB,OAAO,EAAE,CAAC,oBAAoB,GAAG,yBAAyB,CAAC,EAAE,CAAC;YAC9D,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE,kBAAkB,CAAC;YAE1B,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;SACH;KAAC,CAAC;IAEH,eAAe,EAAE;QAAC;YAChB,IAAI,EAAE,YAAY,CAAC;YACnB,GAAG,EAAE,WAAW,CAAC;YAEjB,OAAO,EAAE,CAAC,oBAAoB,GAAG,yBAAyB,CAAC,EAAE,CAAC;YAC9D,KAAK,EAAE,eAAe,CAAC;YAEvB,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;SACH;KAAC,CAAC;IAEH,kBAAkB,EAAE;QAAC;YACnB,IAAI,EAAE,YAAY,CAAC;YACnB,KAAK,EAAE,eAAe,CAAC;YAEvB,GAAG,EAAE;gBACH,GAAG,EAAE,WAAW,CAAC;gBACjB,GAAG,EAAE,WAAW,CAAC;aAClB,CAAC;SACH;KAAC,CAAC;IAEH,UAAU,EAAE;QAAC;YACX,IAAI,EAAE,YAAY,CAAC;YACnB,IAAI,EAAE,yBAAyB,CAAC;SACjC;KAAC,CAAC;IAEH,KAAK,EAAE;QAAC;YACN,QAAQ,EAAE,QAAQ,CAAC;YACnB,IAAI,EAAE,yBAAyB,CAAC;SACjC;KAAC,CAAC;IAEH,KAAK,EAAE;QAAC;YACN,QAAQ,EAAE,QAAQ,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,CAAC;SACpB;KAAC,CAAC;IAEH,SAAS,EAAE;QAAC;YACV,OAAO,EAAE,MAAM,EAAE,CAAC;SACnB;KAAC,CAAC;CACJ;AAED,qBAAa,eAAgB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAChE,OAAO,EAAG,sBAAsB,CAAC;IAEjC,SAAS,EAAE,MAAM,CAAc;IAC/B,EAAE,EAAE,MAAM,CAA+B;IAEzC,IAAI;;;;;;wBAM4B,MAAM;4BAAc,MAAM;;;MAE/D;IAEF,MAAM,CAAC,KAAK,IAAI,eAAe;CA4BhC"}
@@ -15,11 +15,8 @@ class PipelineSession extends events_1.default {
15
15
  counters: {
16
16
  steps: (0, utils_1.buildCounter)(),
17
17
  },
18
- llm: {
19
- tokens: {
20
- input: 0,
21
- output: 0,
22
- },
18
+ usage: {
19
+ llm: (0, utils_1.cast)({}),
23
20
  },
24
21
  };
25
22
  }
@@ -30,6 +27,20 @@ class PipelineSession extends events_1.default {
30
27
  session.meta.counters.steps();
31
28
  }
32
29
  });
30
+ session.on('step:ai:complete', ({ usage, llm }) => {
31
+ const key = [llm.name, llm.model].join('/');
32
+ const section = session.meta.usage.llm[key] ?? {
33
+ prompt: 0,
34
+ completion: 0,
35
+ };
36
+ if (usage.inputTokens) {
37
+ section.prompt += usage.inputTokens;
38
+ }
39
+ if (usage.outputTokens) {
40
+ section.completion += usage.outputTokens;
41
+ }
42
+ session.meta.usage.llm[key] = section;
43
+ });
33
44
  return session;
34
45
  }
35
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/models/pipeline/session.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAkC;AAMlC,uCAA2C;AAyC3C,MAAa,eAAgB,SAAQ,gBAAoC;IAAzE;;QAGS,cAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,OAAE,GAAW,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEzC,SAAI,GAAG;YACZ,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAA,oBAAY,GAAE;aACtB;YAED,GAAG,EAAE;gBACH,MAAM,EAAE;oBACN,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;iBACV;aACF;SACF,CAAC;IAaJ,CAAC;IAXC,MAAM,CAAC,KAAK;QACV,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QAEtC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA9BD,0CA8BC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/models/pipeline/session.ts"],"names":[],"mappings":";;;;;;AACA,oDAAkC;AAMlC,uCAAiD;AAoEjD,MAAa,eAAgB,SAAQ,gBAAoC;IAAzE;;QAGS,cAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,OAAE,GAAW,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEzC,SAAI,GAAG;YACZ,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAA,oBAAY,GAAE;aACtB;YAED,KAAK,EAAE;gBACL,GAAG,EAAE,IAAA,YAAI,EAAyD,EAAE,CAAC;aACtE;SACF,CAAC;IA8BJ,CAAC;IA5BC,MAAM,CAAC,KAAK;QACV,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QAEtC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBAC7C,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,CAAC;aACd,CAAC;YAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC;YACtC,CAAC;YACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC;YAC3C,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA5CD,0CA4CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../../../../src/models/pipeline/stdout/compiled/console.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;;AA8B1C,wBA8GI"}
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../../../../src/models/pipeline/stdout/compiled/console.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;;AA8B1C,wBA2HI"}
@@ -31,7 +31,8 @@ const renderHeader = (icon, spent) => [
31
31
  ].join(' ');
32
32
  exports.default = model_1.PipelineStdout
33
33
  .build()
34
- .override('log', ({ pipeline, message }) => console.log(renderHeader(colors_1.default.gray('↩')), ...renderTitle(pipeline), colors_1.default.gray(pipeline.title), colors_1.default.gray('⇢'), ...message.map((segment) => typeof segment === 'string' ? colors_1.default.white(segment) : segment)))
34
+ .override('log', ({ pipeline, message }) => console.log(renderHeader(colors_1.default.gray('‧')), ...renderTitle(pipeline), colors_1.default.gray(pipeline.title), colors_1.default.gray('⇢'), ...message.map((segment) => typeof segment === 'string' ? colors_1.default.white(segment) : segment)))
35
+ .override('warning', ({ message }) => console.log(renderHeader(colors_1.default.yellow('‧')), ...message.map((segment) => typeof segment === 'string' ? colors_1.default.yellow(segment) : segment)))
35
36
  .override('run', ({ pipeline, meta }) => {
36
37
  if (meta.state === 'INIT' && pipeline.context.input !== undefined) {
37
38
  const input = typeof pipeline.context.input === 'string'
@@ -40,8 +41,13 @@ exports.default = model_1.PipelineStdout
40
41
  return console.log(renderHeader(colors_1.default.yellow.bold('⦿'), meta.spent), ...renderTitle(pipeline), colors_1.default.yellow.bold(pipeline.title), colors_1.default.gray('⇢'), colors_1.default.white(input.replace(/\n/g, '↩ ')));
41
42
  }
42
43
  if (!pipeline.parent && meta.state === 'DONE') {
43
- const { input, output } = pipeline.session.meta.llm.tokens;
44
- return console.log(renderHeader(colors_1.default.yellow.bold('⚑'), meta.spent), colors_1.default.yellow.bold(pipeline.title), colors_1.default.gray('⇢'), colors_1.default.yellow.bold('✓ Done'), colors_1.default.gray(`in ${input + output} tokens`), colors_1.default.gray('⇢'), colors_1.default.gray(`${input} input + ${output} output`));
44
+ const total = Object
45
+ .values(pipeline.session.meta.usage.llm)
46
+ .reduce((acc, usage) => acc + usage.prompt + usage.completion, 0);
47
+ const separated = Object
48
+ .entries(pipeline.session.meta.usage.llm)
49
+ .map(([key, usage]) => colors_1.default.gray(`${key} ⭡ ${usage.prompt} ⭣ ${usage.completion}`));
50
+ return console.log(renderHeader(colors_1.default.yellow.bold('⚑'), meta.spent), colors_1.default.yellow.bold(pipeline.title), colors_1.default.gray('⇢'), colors_1.default.yellow.bold('✓ Done'), colors_1.default.gray(`in ${total} tokens`), colors_1.default.gray('⇢'), separated.join(colors_1.default.gray(' ‧‧ ')));
45
51
  }
46
52
  })
47
53
  .override('step:run', ({ step, meta }) => {
@@ -66,5 +72,5 @@ exports.default = model_1.PipelineStdout
66
72
  ? colors_1.default.red.bold(`${action.name}`)
67
73
  : colors_1.default.cyan.bold(`${action.name}`), colors_1.default.gray(action.preview()));
68
74
  })
69
- .override('step:ai:fallback', ({ step, providers }) => console.log(renderHeader(colors_1.default.magenta.bold('⦸')), ...renderTitle(step), colors_1.default.gray(`⏱ ${step.title}`), colors_1.default.gray('⇢'), colors_1.default.gray(`Fallback from [${providers.old.model}] to [${providers.new.model}]`)));
75
+ .override('step:ai:fallback', ({ step, llm: providers }) => console.log(renderHeader(colors_1.default.magenta.bold('⦸')), ...renderTitle(step), colors_1.default.gray(`⏱ ${step.title}`), colors_1.default.gray('⇢'), colors_1.default.gray(`Fallback from [${providers.old.model}] to [${providers.new.model}]`)));
70
76
  //# sourceMappingURL=console.js.map