groundswell 0.0.3 → 1.0.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/LICENSE +21 -0
- package/README.md +26 -9
- package/dist/cache/cache-key.d.ts +20 -0
- package/dist/cache/cache-key.d.ts.map +1 -1
- package/dist/cache/cache-key.js +9 -0
- package/dist/cache/cache-key.js.map +1 -1
- package/dist/core/agent.d.ts +120 -29
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +584 -177
- package/dist/core/agent.js.map +1 -1
- package/dist/core/mcp-handler.d.ts +63 -5
- package/dist/core/mcp-handler.d.ts.map +1 -1
- package/dist/core/mcp-handler.js +184 -4
- package/dist/core/mcp-handler.js.map +1 -1
- package/dist/core/workflow-context.d.ts +6 -2
- package/dist/core/workflow-context.d.ts.map +1 -1
- package/dist/core/workflow-context.js +99 -4
- package/dist/core/workflow-context.js.map +1 -1
- package/dist/core/workflow.d.ts +315 -13
- package/dist/core/workflow.d.ts.map +1 -1
- package/dist/core/workflow.js +552 -30
- package/dist/core/workflow.js.map +1 -1
- package/dist/debugger/event-replayer.d.ts +422 -0
- package/dist/debugger/event-replayer.d.ts.map +1 -0
- package/dist/debugger/event-replayer.js +639 -0
- package/dist/debugger/event-replayer.js.map +1 -0
- package/dist/debugger/tree-debugger.d.ts +170 -1
- package/dist/debugger/tree-debugger.d.ts.map +1 -1
- package/dist/debugger/tree-debugger.js +423 -1
- package/dist/debugger/tree-debugger.js.map +1 -1
- package/dist/decorators/step.d.ts.map +1 -1
- package/dist/decorators/step.js +129 -47
- package/dist/decorators/step.js.map +1 -1
- package/dist/harnesses/claude-code-harness.d.ts +391 -0
- package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
- package/dist/harnesses/claude-code-harness.js +1076 -0
- package/dist/harnesses/claude-code-harness.js.map +1 -0
- package/dist/harnesses/harness-registry.d.ts +440 -0
- package/dist/harnesses/harness-registry.d.ts.map +1 -0
- package/dist/harnesses/harness-registry.js +543 -0
- package/dist/harnesses/harness-registry.js.map +1 -0
- package/dist/harnesses/index.d.ts +12 -0
- package/dist/harnesses/index.d.ts.map +1 -0
- package/dist/harnesses/index.js +11 -0
- package/dist/harnesses/index.js.map +1 -0
- package/dist/harnesses/pi-harness.d.ts +219 -0
- package/dist/harnesses/pi-harness.d.ts.map +1 -0
- package/dist/harnesses/pi-harness.js +676 -0
- package/dist/harnesses/pi-harness.js.map +1 -0
- package/dist/harnesses/pi-schema-converter.d.ts +24 -0
- package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
- package/dist/harnesses/pi-schema-converter.js +81 -0
- package/dist/harnesses/pi-schema-converter.js.map +1 -0
- package/dist/harnesses/register-defaults.d.ts +24 -0
- package/dist/harnesses/register-defaults.d.ts.map +1 -0
- package/dist/harnesses/register-defaults.js +40 -0
- package/dist/harnesses/register-defaults.js.map +1 -0
- package/dist/harnesses/session-store.d.ts +201 -0
- package/dist/harnesses/session-store.d.ts.map +1 -0
- package/dist/harnesses/session-store.js +254 -0
- package/dist/harnesses/session-store.js.map +1 -0
- package/dist/index.d.ts +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -1
- package/dist/reflection/reflection.d.ts.map +1 -1
- package/dist/reflection/reflection.js +19 -4
- package/dist/reflection/reflection.js.map +1 -1
- package/dist/types/agent.d.ts +1253 -2
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +418 -1
- package/dist/types/agent.js.map +1 -1
- package/dist/types/decorators.d.ts +10 -1
- package/dist/types/decorators.d.ts.map +1 -1
- package/dist/types/events.d.ts +26 -0
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/harnesses.d.ts +474 -0
- package/dist/types/harnesses.d.ts.map +1 -0
- package/dist/types/harnesses.js +2 -0
- package/dist/types/harnesses.js.map +1 -0
- package/dist/types/index.d.ts +9 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/providers.d.ts +691 -0
- package/dist/types/providers.d.ts.map +1 -0
- package/dist/types/providers.js +14 -0
- package/dist/types/providers.js.map +1 -0
- package/dist/types/restart.d.ts +132 -0
- package/dist/types/restart.d.ts.map +1 -0
- package/dist/types/restart.js +2 -0
- package/dist/types/restart.js.map +1 -0
- package/dist/types/streaming.d.ts +194 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/streaming.js +67 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/types/workflow-context.d.ts +137 -1
- package/dist/types/workflow-context.d.ts.map +1 -1
- package/dist/utils/agent-validation.d.ts +88 -0
- package/dist/utils/agent-validation.d.ts.map +1 -0
- package/dist/utils/agent-validation.js +87 -0
- package/dist/utils/agent-validation.js.map +1 -0
- package/dist/utils/delay.d.ts +7 -0
- package/dist/utils/delay.d.ts.map +1 -0
- package/dist/utils/delay.js +9 -0
- package/dist/utils/delay.js.map +1 -0
- package/dist/utils/harness-config.d.ts +180 -0
- package/dist/utils/harness-config.d.ts.map +1 -0
- package/dist/utils/harness-config.js +311 -0
- package/dist/utils/harness-config.js.map +1 -0
- package/dist/utils/index.d.ts +9 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/model-spec.d.ts +110 -0
- package/dist/utils/model-spec.d.ts.map +1 -0
- package/dist/utils/model-spec.js +149 -0
- package/dist/utils/model-spec.js.map +1 -0
- package/dist/utils/provider-config.d.ts +10 -0
- package/dist/utils/provider-config.d.ts.map +1 -0
- package/dist/utils/provider-config.js +10 -0
- package/dist/utils/provider-config.js.map +1 -0
- package/dist/utils/restart-analysis.d.ts +202 -0
- package/dist/utils/restart-analysis.d.ts.map +1 -0
- package/dist/utils/restart-analysis.js +426 -0
- package/dist/utils/restart-analysis.js.map +1 -0
- package/dist/utils/session-serialization.d.ts +118 -0
- package/dist/utils/session-serialization.d.ts.map +1 -0
- package/dist/utils/session-serialization.js +217 -0
- package/dist/utils/session-serialization.js.map +1 -0
- package/package.json +31 -5
- package/CHANGELOG.md +0 -188
- package/dist/__tests__/adversarial/attachChild-performance.test.d.ts +0 -16
- package/dist/__tests__/adversarial/attachChild-performance.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/attachChild-performance.test.js +0 -187
- package/dist/__tests__/adversarial/attachChild-performance.test.js.map +0 -1
- package/dist/__tests__/adversarial/circular-reference.test.d.ts +0 -13
- package/dist/__tests__/adversarial/circular-reference.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/circular-reference.test.js +0 -92
- package/dist/__tests__/adversarial/circular-reference.test.js.map +0 -1
- package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts +0 -16
- package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/complex-circular-reference.test.js +0 -127
- package/dist/__tests__/adversarial/complex-circular-reference.test.js.map +0 -1
- package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts +0 -21
- package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/concurrent-task-failures.test.js +0 -667
- package/dist/__tests__/adversarial/concurrent-task-failures.test.js.map +0 -1
- package/dist/__tests__/adversarial/deep-analysis.test.d.ts +0 -6
- package/dist/__tests__/adversarial/deep-analysis.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/deep-analysis.test.js +0 -877
- package/dist/__tests__/adversarial/deep-analysis.test.js.map +0 -1
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts +0 -13
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js +0 -186
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js.map +0 -1
- package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts +0 -6
- package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/e2e-prd-validation.test.js +0 -626
- package/dist/__tests__/adversarial/e2e-prd-validation.test.js.map +0 -1
- package/dist/__tests__/adversarial/edge-case.test.d.ts +0 -6
- package/dist/__tests__/adversarial/edge-case.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/edge-case.test.js +0 -857
- package/dist/__tests__/adversarial/edge-case.test.js.map +0 -1
- package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts +0 -20
- package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/error-merge-strategy.test.js +0 -907
- package/dist/__tests__/adversarial/error-merge-strategy.test.js.map +0 -1
- package/dist/__tests__/adversarial/incremental-performance.test.d.ts +0 -2
- package/dist/__tests__/adversarial/incremental-performance.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/incremental-performance.test.js +0 -113
- package/dist/__tests__/adversarial/incremental-performance.test.js.map +0 -1
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts +0 -22
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js +0 -383
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js.map +0 -1
- package/dist/__tests__/adversarial/observer-propagation.test.d.ts +0 -21
- package/dist/__tests__/adversarial/observer-propagation.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/observer-propagation.test.js +0 -404
- package/dist/__tests__/adversarial/observer-propagation.test.js.map +0 -1
- package/dist/__tests__/adversarial/parent-validation.test.d.ts +0 -13
- package/dist/__tests__/adversarial/parent-validation.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/parent-validation.test.js +0 -128
- package/dist/__tests__/adversarial/parent-validation.test.js.map +0 -1
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts +0 -20
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.js +0 -482
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.js.map +0 -1
- package/dist/__tests__/adversarial/prd-compliance.test.d.ts +0 -6
- package/dist/__tests__/adversarial/prd-compliance.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/prd-compliance.test.js +0 -886
- package/dist/__tests__/adversarial/prd-compliance.test.js.map +0 -1
- package/dist/__tests__/compatibility/backward-compatibility.test.d.ts +0 -22
- package/dist/__tests__/compatibility/backward-compatibility.test.d.ts.map +0 -1
- package/dist/__tests__/compatibility/backward-compatibility.test.js +0 -1843
- package/dist/__tests__/compatibility/backward-compatibility.test.js.map +0 -1
- package/dist/__tests__/helpers/index.d.ts +0 -10
- package/dist/__tests__/helpers/index.d.ts.map +0 -1
- package/dist/__tests__/helpers/index.js +0 -10
- package/dist/__tests__/helpers/index.js.map +0 -1
- package/dist/__tests__/helpers/tree-verification.d.ts +0 -90
- package/dist/__tests__/helpers/tree-verification.d.ts.map +0 -1
- package/dist/__tests__/helpers/tree-verification.js +0 -202
- package/dist/__tests__/helpers/tree-verification.js.map +0 -1
- package/dist/__tests__/integration/agent-workflow.test.d.ts +0 -2
- package/dist/__tests__/integration/agent-workflow.test.d.ts.map +0 -1
- package/dist/__tests__/integration/agent-workflow.test.js +0 -256
- package/dist/__tests__/integration/agent-workflow.test.js.map +0 -1
- package/dist/__tests__/integration/bidirectional-consistency.test.d.ts +0 -14
- package/dist/__tests__/integration/bidirectional-consistency.test.d.ts.map +0 -1
- package/dist/__tests__/integration/bidirectional-consistency.test.js +0 -668
- package/dist/__tests__/integration/bidirectional-consistency.test.js.map +0 -1
- package/dist/__tests__/integration/observer-logging.test.d.ts +0 -2
- package/dist/__tests__/integration/observer-logging.test.d.ts.map +0 -1
- package/dist/__tests__/integration/observer-logging.test.js +0 -517
- package/dist/__tests__/integration/observer-logging.test.js.map +0 -1
- package/dist/__tests__/integration/tree-mirroring.test.d.ts +0 -2
- package/dist/__tests__/integration/tree-mirroring.test.d.ts.map +0 -1
- package/dist/__tests__/integration/tree-mirroring.test.js +0 -117
- package/dist/__tests__/integration/tree-mirroring.test.js.map +0 -1
- package/dist/__tests__/integration/workflow-reparenting.test.d.ts +0 -12
- package/dist/__tests__/integration/workflow-reparenting.test.d.ts.map +0 -1
- package/dist/__tests__/integration/workflow-reparenting.test.js +0 -239
- package/dist/__tests__/integration/workflow-reparenting.test.js.map +0 -1
- package/dist/__tests__/unit/agent.test.d.ts +0 -2
- package/dist/__tests__/unit/agent.test.d.ts.map +0 -1
- package/dist/__tests__/unit/agent.test.js +0 -143
- package/dist/__tests__/unit/agent.test.js.map +0 -1
- package/dist/__tests__/unit/cache-key.test.d.ts +0 -5
- package/dist/__tests__/unit/cache-key.test.d.ts.map +0 -1
- package/dist/__tests__/unit/cache-key.test.js +0 -145
- package/dist/__tests__/unit/cache-key.test.js.map +0 -1
- package/dist/__tests__/unit/cache.test.d.ts +0 -5
- package/dist/__tests__/unit/cache.test.d.ts.map +0 -1
- package/dist/__tests__/unit/cache.test.js +0 -132
- package/dist/__tests__/unit/cache.test.js.map +0 -1
- package/dist/__tests__/unit/context.test.d.ts +0 -2
- package/dist/__tests__/unit/context.test.d.ts.map +0 -1
- package/dist/__tests__/unit/context.test.js +0 -220
- package/dist/__tests__/unit/context.test.js.map +0 -1
- package/dist/__tests__/unit/decorators.test.d.ts +0 -2
- package/dist/__tests__/unit/decorators.test.d.ts.map +0 -1
- package/dist/__tests__/unit/decorators.test.js +0 -162
- package/dist/__tests__/unit/decorators.test.js.map +0 -1
- package/dist/__tests__/unit/introspection-tools.test.d.ts +0 -5
- package/dist/__tests__/unit/introspection-tools.test.d.ts.map +0 -1
- package/dist/__tests__/unit/introspection-tools.test.js +0 -191
- package/dist/__tests__/unit/introspection-tools.test.js.map +0 -1
- package/dist/__tests__/unit/logger.test.d.ts +0 -2
- package/dist/__tests__/unit/logger.test.d.ts.map +0 -1
- package/dist/__tests__/unit/logger.test.js +0 -241
- package/dist/__tests__/unit/logger.test.js.map +0 -1
- package/dist/__tests__/unit/observable.test.d.ts +0 -2
- package/dist/__tests__/unit/observable.test.d.ts.map +0 -1
- package/dist/__tests__/unit/observable.test.js +0 -251
- package/dist/__tests__/unit/observable.test.js.map +0 -1
- package/dist/__tests__/unit/prompt.test.d.ts +0 -2
- package/dist/__tests__/unit/prompt.test.d.ts.map +0 -1
- package/dist/__tests__/unit/prompt.test.js +0 -113
- package/dist/__tests__/unit/prompt.test.js.map +0 -1
- package/dist/__tests__/unit/reflection.test.d.ts +0 -5
- package/dist/__tests__/unit/reflection.test.d.ts.map +0 -1
- package/dist/__tests__/unit/reflection.test.js +0 -160
- package/dist/__tests__/unit/reflection.test.js.map +0 -1
- package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts +0 -2
- package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts.map +0 -1
- package/dist/__tests__/unit/tree-debugger-incremental.test.js +0 -136
- package/dist/__tests__/unit/tree-debugger-incremental.test.js.map +0 -1
- package/dist/__tests__/unit/tree-debugger.test.d.ts +0 -2
- package/dist/__tests__/unit/tree-debugger.test.d.ts.map +0 -1
- package/dist/__tests__/unit/tree-debugger.test.js +0 -69
- package/dist/__tests__/unit/tree-debugger.test.js.map +0 -1
- package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts +0 -2
- package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts.map +0 -1
- package/dist/__tests__/unit/utils/workflow-error-utils.test.js +0 -154
- package/dist/__tests__/unit/utils/workflow-error-utils.test.js.map +0 -1
- package/dist/__tests__/unit/workflow-detachChild.test.d.ts +0 -2
- package/dist/__tests__/unit/workflow-detachChild.test.d.ts.map +0 -1
- package/dist/__tests__/unit/workflow-detachChild.test.js +0 -76
- package/dist/__tests__/unit/workflow-detachChild.test.js.map +0 -1
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts +0 -2
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts.map +0 -1
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js +0 -122
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js.map +0 -1
- package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts +0 -2
- package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts.map +0 -1
- package/dist/__tests__/unit/workflow-isDescendantOf.test.js +0 -140
- package/dist/__tests__/unit/workflow-isDescendantOf.test.js.map +0 -1
- package/dist/__tests__/unit/workflow.test.d.ts +0 -2
- package/dist/__tests__/unit/workflow.test.d.ts.map +0 -1
- package/dist/__tests__/unit/workflow.test.js +0 -330
- package/dist/__tests__/unit/workflow.test.js.map +0 -1
|
@@ -1,626 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* End-to-End PRD Validation Tests
|
|
3
|
-
* Creative testing of actual implementation against PRD requirements
|
|
4
|
-
*/
|
|
5
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
6
|
-
var useValue = arguments.length > 2;
|
|
7
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
8
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
9
|
-
}
|
|
10
|
-
return useValue ? value : void 0;
|
|
11
|
-
};
|
|
12
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
13
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
14
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
15
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
16
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
17
|
-
var _, done = false;
|
|
18
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
19
|
-
var context = {};
|
|
20
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
21
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
22
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
23
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
24
|
-
if (kind === "accessor") {
|
|
25
|
-
if (result === void 0) continue;
|
|
26
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
27
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
28
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
29
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
30
|
-
}
|
|
31
|
-
else if (_ = accept(result)) {
|
|
32
|
-
if (kind === "field") initializers.unshift(_);
|
|
33
|
-
else descriptor[key] = _;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
37
|
-
done = true;
|
|
38
|
-
};
|
|
39
|
-
import { describe, it, expect } from 'vitest';
|
|
40
|
-
import { Workflow, Step, Task, ObservedState } from '../../index.js';
|
|
41
|
-
import { WorkflowTreeDebugger } from '../../debugger/tree-debugger.js';
|
|
42
|
-
describe('End-to-End PRD Validation', () => {
|
|
43
|
-
describe('PRD Example from Section 13', () => {
|
|
44
|
-
// PRD provides an example TDD workflow - let's test it exactly
|
|
45
|
-
it('should support the exact TDD workflow example from PRD', async () => {
|
|
46
|
-
let TestCycleWorkflow = (() => {
|
|
47
|
-
let _classSuper = Workflow;
|
|
48
|
-
let _instanceExtraInitializers = [];
|
|
49
|
-
let _currentTest_decorators;
|
|
50
|
-
let _currentTest_initializers = [];
|
|
51
|
-
let _currentTest_extraInitializers = [];
|
|
52
|
-
let _generateTest_decorators;
|
|
53
|
-
let _runTest_decorators;
|
|
54
|
-
let _updateImplementation_decorators;
|
|
55
|
-
return class TestCycleWorkflow extends _classSuper {
|
|
56
|
-
static {
|
|
57
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
58
|
-
_currentTest_decorators = [ObservedState()];
|
|
59
|
-
_generateTest_decorators = [Step({ snapshotState: true })];
|
|
60
|
-
_runTest_decorators = [Step()];
|
|
61
|
-
_updateImplementation_decorators = [Step()];
|
|
62
|
-
__esDecorate(this, null, _generateTest_decorators, { kind: "method", name: "generateTest", static: false, private: false, access: { has: obj => "generateTest" in obj, get: obj => obj.generateTest }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
63
|
-
__esDecorate(this, null, _runTest_decorators, { kind: "method", name: "runTest", static: false, private: false, access: { has: obj => "runTest" in obj, get: obj => obj.runTest }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
64
|
-
__esDecorate(this, null, _updateImplementation_decorators, { kind: "method", name: "updateImplementation", static: false, private: false, access: { has: obj => "updateImplementation" in obj, get: obj => obj.updateImplementation }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
65
|
-
__esDecorate(null, null, _currentTest_decorators, { kind: "field", name: "currentTest", static: false, private: false, access: { has: obj => "currentTest" in obj, get: obj => obj.currentTest, set: (obj, value) => { obj.currentTest = value; } }, metadata: _metadata }, _currentTest_initializers, _currentTest_extraInitializers);
|
|
66
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
67
|
-
}
|
|
68
|
-
currentTest = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _currentTest_initializers, void 0));
|
|
69
|
-
async generateTest() {
|
|
70
|
-
this.currentTest = 'test-example';
|
|
71
|
-
return 'generated';
|
|
72
|
-
}
|
|
73
|
-
async runTest() {
|
|
74
|
-
this.logger.info('Running test');
|
|
75
|
-
return 'passed';
|
|
76
|
-
}
|
|
77
|
-
async updateImplementation() {
|
|
78
|
-
return 'updated';
|
|
79
|
-
}
|
|
80
|
-
async run() {
|
|
81
|
-
await this.generateTest();
|
|
82
|
-
await this.runTest();
|
|
83
|
-
await this.updateImplementation();
|
|
84
|
-
}
|
|
85
|
-
constructor() {
|
|
86
|
-
super(...arguments);
|
|
87
|
-
__runInitializers(this, _currentTest_extraInitializers);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
})();
|
|
91
|
-
let TDDOrchestrator = (() => {
|
|
92
|
-
let _classSuper = Workflow;
|
|
93
|
-
let _instanceExtraInitializers = [];
|
|
94
|
-
let _setupEnvironment_decorators;
|
|
95
|
-
let _runCycle_decorators;
|
|
96
|
-
return class TDDOrchestrator extends _classSuper {
|
|
97
|
-
static {
|
|
98
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
99
|
-
_setupEnvironment_decorators = [Step({ logStart: true })];
|
|
100
|
-
_runCycle_decorators = [Task()];
|
|
101
|
-
__esDecorate(this, null, _setupEnvironment_decorators, { kind: "method", name: "setupEnvironment", static: false, private: false, access: { has: obj => "setupEnvironment" in obj, get: obj => obj.setupEnvironment }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
102
|
-
__esDecorate(this, null, _runCycle_decorators, { kind: "method", name: "runCycle", static: false, private: false, access: { has: obj => "runCycle" in obj, get: obj => obj.runCycle }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
103
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
104
|
-
}
|
|
105
|
-
async setupEnvironment() {
|
|
106
|
-
this.logger.info('Environment setup complete');
|
|
107
|
-
}
|
|
108
|
-
async runCycle() {
|
|
109
|
-
return new TestCycleWorkflow('Cycle', this);
|
|
110
|
-
}
|
|
111
|
-
async run() {
|
|
112
|
-
await this.setupEnvironment();
|
|
113
|
-
await this.runCycle();
|
|
114
|
-
await this.children[0].run();
|
|
115
|
-
}
|
|
116
|
-
constructor() {
|
|
117
|
-
super(...arguments);
|
|
118
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
})();
|
|
122
|
-
const workflow = new TDDOrchestrator();
|
|
123
|
-
await workflow.run();
|
|
124
|
-
// Verify hierarchy
|
|
125
|
-
expect(workflow.children.length).toBe(1);
|
|
126
|
-
expect(workflow.children[0].node.name).toBe('Cycle');
|
|
127
|
-
// Verify state was captured
|
|
128
|
-
expect(workflow.children[0].node.stateSnapshot).not.toBeNull();
|
|
129
|
-
expect(workflow.children[0].node.stateSnapshot?.currentTest).toBe('test-example');
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
describe('PRD: Restart Semantics - Error Analysis', () => {
|
|
133
|
-
it('should capture error state for parent restart decision', async () => {
|
|
134
|
-
let capturedError;
|
|
135
|
-
let ChildWorkflow = (() => {
|
|
136
|
-
let _classSuper = Workflow;
|
|
137
|
-
let _instanceExtraInitializers = [];
|
|
138
|
-
let _attemptCount_decorators;
|
|
139
|
-
let _attemptCount_initializers = [];
|
|
140
|
-
let _attemptCount_extraInitializers = [];
|
|
141
|
-
let _failingOperation_decorators;
|
|
142
|
-
return class ChildWorkflow extends _classSuper {
|
|
143
|
-
static {
|
|
144
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
145
|
-
_attemptCount_decorators = [ObservedState()];
|
|
146
|
-
_failingOperation_decorators = [Step()];
|
|
147
|
-
__esDecorate(this, null, _failingOperation_decorators, { kind: "method", name: "failingOperation", static: false, private: false, access: { has: obj => "failingOperation" in obj, get: obj => obj.failingOperation }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
148
|
-
__esDecorate(null, null, _attemptCount_decorators, { kind: "field", name: "attemptCount", static: false, private: false, access: { has: obj => "attemptCount" in obj, get: obj => obj.attemptCount, set: (obj, value) => { obj.attemptCount = value; } }, metadata: _metadata }, _attemptCount_initializers, _attemptCount_extraInitializers);
|
|
149
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
150
|
-
}
|
|
151
|
-
attemptCount = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _attemptCount_initializers, 0));
|
|
152
|
-
async failingOperation() {
|
|
153
|
-
this.attemptCount++;
|
|
154
|
-
this.logger.info(`Attempt ${this.attemptCount}`);
|
|
155
|
-
if (this.attemptCount < 3) {
|
|
156
|
-
throw new Error('Not ready yet');
|
|
157
|
-
}
|
|
158
|
-
return 'success';
|
|
159
|
-
}
|
|
160
|
-
async run() {
|
|
161
|
-
return this.failingOperation();
|
|
162
|
-
}
|
|
163
|
-
constructor() {
|
|
164
|
-
super(...arguments);
|
|
165
|
-
__runInitializers(this, _attemptCount_extraInitializers);
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
})();
|
|
169
|
-
let ParentWorkflow = (() => {
|
|
170
|
-
let _classSuper = Workflow;
|
|
171
|
-
let _instanceExtraInitializers = [];
|
|
172
|
-
let _spawnChild_decorators;
|
|
173
|
-
return class ParentWorkflow extends _classSuper {
|
|
174
|
-
static {
|
|
175
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
176
|
-
_spawnChild_decorators = [Task()];
|
|
177
|
-
__esDecorate(this, null, _spawnChild_decorators, { kind: "method", name: "spawnChild", static: false, private: false, access: { has: obj => "spawnChild" in obj, get: obj => obj.spawnChild }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
178
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
179
|
-
}
|
|
180
|
-
async spawnChild() {
|
|
181
|
-
return new ChildWorkflow('Child', this);
|
|
182
|
-
}
|
|
183
|
-
async run() {
|
|
184
|
-
await this.spawnChild();
|
|
185
|
-
// Subscribe to errors for restart logic
|
|
186
|
-
this.addObserver({
|
|
187
|
-
onLog: () => { },
|
|
188
|
-
onEvent: (e) => {
|
|
189
|
-
if (e.type === 'error') {
|
|
190
|
-
capturedError = e.error;
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
onStateUpdated: () => { },
|
|
194
|
-
onTreeChanged: () => { },
|
|
195
|
-
});
|
|
196
|
-
try {
|
|
197
|
-
await this.children[0].run();
|
|
198
|
-
}
|
|
199
|
-
catch (err) {
|
|
200
|
-
// Analyze error and state for restart decision
|
|
201
|
-
expect(capturedError).toBeDefined();
|
|
202
|
-
expect(capturedError.state.attemptCount).toBeGreaterThan(0);
|
|
203
|
-
expect(capturedError.logs.length).toBeGreaterThan(0);
|
|
204
|
-
// Could decide to retry based on capturedError.state
|
|
205
|
-
// For this test, we just verified the error has all needed info
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
constructor() {
|
|
209
|
-
super(...arguments);
|
|
210
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
211
|
-
}
|
|
212
|
-
};
|
|
213
|
-
})();
|
|
214
|
-
const workflow = new ParentWorkflow();
|
|
215
|
-
await workflow.run();
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
describe('PRD: @Step trackTiming default behavior', () => {
|
|
219
|
-
it('should track timing by default when not specified (true by default)', async () => {
|
|
220
|
-
const events = [];
|
|
221
|
-
let TestWorkflow = (() => {
|
|
222
|
-
let _classSuper = Workflow;
|
|
223
|
-
let _instanceExtraInitializers = [];
|
|
224
|
-
let _testStep_decorators;
|
|
225
|
-
return class TestWorkflow extends _classSuper {
|
|
226
|
-
static {
|
|
227
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
228
|
-
_testStep_decorators = [Step()];
|
|
229
|
-
__esDecorate(this, null, _testStep_decorators, { kind: "method", name: "testStep", static: false, private: false, access: { has: obj => "testStep" in obj, get: obj => obj.testStep }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
230
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
231
|
-
}
|
|
232
|
-
async testStep() {
|
|
233
|
-
return 'done';
|
|
234
|
-
}
|
|
235
|
-
async run() {
|
|
236
|
-
return this.testStep();
|
|
237
|
-
}
|
|
238
|
-
constructor() {
|
|
239
|
-
super(...arguments);
|
|
240
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
})();
|
|
244
|
-
const workflow = new TestWorkflow();
|
|
245
|
-
workflow.addObserver({
|
|
246
|
-
onLog: () => { },
|
|
247
|
-
onEvent: (e) => events.push(e),
|
|
248
|
-
onStateUpdated: () => { },
|
|
249
|
-
onTreeChanged: () => { },
|
|
250
|
-
});
|
|
251
|
-
await workflow.run();
|
|
252
|
-
const stepEndEvent = events.find(e => e.type === 'stepEnd');
|
|
253
|
-
expect(stepEndEvent).toBeDefined();
|
|
254
|
-
if (stepEndEvent?.type === 'stepEnd') {
|
|
255
|
-
expect(typeof stepEndEvent.duration).toBe('number');
|
|
256
|
-
expect(stepEndEvent.duration).toBeGreaterThanOrEqual(0);
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
});
|
|
260
|
-
describe('PRD: Tree Debugger API Completeness', () => {
|
|
261
|
-
it('should implement all required methods from WorkflowTreeDebugger', async () => {
|
|
262
|
-
class TestWorkflow extends Workflow {
|
|
263
|
-
async run() {
|
|
264
|
-
this.logger.info('Test log');
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
const workflow = new TestWorkflow();
|
|
268
|
-
const treeDebugger = new WorkflowTreeDebugger(workflow);
|
|
269
|
-
// Test getTree()
|
|
270
|
-
const tree = treeDebugger.getTree();
|
|
271
|
-
expect(tree).toBeDefined();
|
|
272
|
-
expect(tree.id).toBe(workflow.id);
|
|
273
|
-
// Test getNode()
|
|
274
|
-
const node = treeDebugger.getNode(workflow.id);
|
|
275
|
-
expect(node).toBeDefined();
|
|
276
|
-
expect(node.id).toBe(workflow.id);
|
|
277
|
-
// Test events observable
|
|
278
|
-
expect(treeDebugger.events).toBeDefined();
|
|
279
|
-
expect(typeof treeDebugger.events.subscribe).toBe('function');
|
|
280
|
-
// Test toTreeString()
|
|
281
|
-
const treeString = treeDebugger.toTreeString();
|
|
282
|
-
expect(typeof treeString).toBe('string');
|
|
283
|
-
expect(treeString.length).toBeGreaterThan(0);
|
|
284
|
-
// Test toLogString()
|
|
285
|
-
await workflow.run();
|
|
286
|
-
const logString = treeDebugger.toLogString();
|
|
287
|
-
expect(typeof logString).toBe('string');
|
|
288
|
-
expect(logString).toContain('Test log');
|
|
289
|
-
});
|
|
290
|
-
});
|
|
291
|
-
describe('PRD: WorkflowError Complete Structure', () => {
|
|
292
|
-
it('should include all required fields per PRD Section 5.1', async () => {
|
|
293
|
-
let TestWorkflow = (() => {
|
|
294
|
-
let _classSuper = Workflow;
|
|
295
|
-
let _instanceExtraInitializers = [];
|
|
296
|
-
let _contextData_decorators;
|
|
297
|
-
let _contextData_initializers = [];
|
|
298
|
-
let _contextData_extraInitializers = [];
|
|
299
|
-
let _failingStep_decorators;
|
|
300
|
-
return class TestWorkflow extends _classSuper {
|
|
301
|
-
static {
|
|
302
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
303
|
-
_contextData_decorators = [ObservedState()];
|
|
304
|
-
_failingStep_decorators = [Step()];
|
|
305
|
-
__esDecorate(this, null, _failingStep_decorators, { kind: "method", name: "failingStep", static: false, private: false, access: { has: obj => "failingStep" in obj, get: obj => obj.failingStep }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
306
|
-
__esDecorate(null, null, _contextData_decorators, { kind: "field", name: "contextData", static: false, private: false, access: { has: obj => "contextData" in obj, get: obj => obj.contextData, set: (obj, value) => { obj.contextData = value; } }, metadata: _metadata }, _contextData_initializers, _contextData_extraInitializers);
|
|
307
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
308
|
-
}
|
|
309
|
-
contextData = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _contextData_initializers, 'important'));
|
|
310
|
-
async failingStep() {
|
|
311
|
-
this.logger.info('About to fail');
|
|
312
|
-
throw new Error('Intentional failure');
|
|
313
|
-
}
|
|
314
|
-
async run() {
|
|
315
|
-
try {
|
|
316
|
-
await this.failingStep();
|
|
317
|
-
}
|
|
318
|
-
catch (err) {
|
|
319
|
-
const wfError = err;
|
|
320
|
-
// Verify all required fields from PRD Section 5.1
|
|
321
|
-
expect(wfError.message).toBe('Intentional failure');
|
|
322
|
-
expect(wfError.original).toBeDefined();
|
|
323
|
-
expect(wfError.workflowId).toBeDefined();
|
|
324
|
-
expect(wfError.stack).toBeDefined();
|
|
325
|
-
expect(wfError.state).toBeDefined();
|
|
326
|
-
expect(wfError.logs).toBeDefined();
|
|
327
|
-
expect(Array.isArray(wfError.logs)).toBe(true);
|
|
328
|
-
expect(wfError.state.contextData).toBe('important');
|
|
329
|
-
expect(wfError.logs.some(l => l.message.includes('About to fail'))).toBe(true);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
constructor() {
|
|
333
|
-
super(...arguments);
|
|
334
|
-
__runInitializers(this, _contextData_extraInitializers);
|
|
335
|
-
}
|
|
336
|
-
};
|
|
337
|
-
})();
|
|
338
|
-
const workflow = new TestWorkflow();
|
|
339
|
-
await workflow.run();
|
|
340
|
-
});
|
|
341
|
-
});
|
|
342
|
-
describe('PRD: Root-Only Observer Restriction', () => {
|
|
343
|
-
it('should only allow observers on root workflow', async () => {
|
|
344
|
-
class ChildWorkflow extends Workflow {
|
|
345
|
-
async run() {
|
|
346
|
-
return 'done';
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
class ParentWorkflow extends Workflow {
|
|
350
|
-
async run() {
|
|
351
|
-
const child = new ChildWorkflow('Child', this);
|
|
352
|
-
// Should throw when trying to add observer to non-root
|
|
353
|
-
expect(() => {
|
|
354
|
-
child.addObserver({
|
|
355
|
-
onLog: () => { },
|
|
356
|
-
onEvent: () => { },
|
|
357
|
-
onStateUpdated: () => { },
|
|
358
|
-
onTreeChanged: () => { },
|
|
359
|
-
});
|
|
360
|
-
}).toThrow('Observers can only be added to root workflows');
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
const workflow = new ParentWorkflow();
|
|
364
|
-
await workflow.run();
|
|
365
|
-
});
|
|
366
|
-
});
|
|
367
|
-
describe('PRD: Step Snapshot Timing', () => {
|
|
368
|
-
it('should snapshot state AFTER step completion', async () => {
|
|
369
|
-
let TestWorkflow = (() => {
|
|
370
|
-
let _classSuper = Workflow;
|
|
371
|
-
let _instanceExtraInitializers = [];
|
|
372
|
-
let _value_decorators;
|
|
373
|
-
let _value_initializers = [];
|
|
374
|
-
let _value_extraInitializers = [];
|
|
375
|
-
let _changeAndSnapshot_decorators;
|
|
376
|
-
return class TestWorkflow extends _classSuper {
|
|
377
|
-
static {
|
|
378
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
379
|
-
_value_decorators = [ObservedState()];
|
|
380
|
-
_changeAndSnapshot_decorators = [Step({ snapshotState: true })];
|
|
381
|
-
__esDecorate(this, null, _changeAndSnapshot_decorators, { kind: "method", name: "changeAndSnapshot", static: false, private: false, access: { has: obj => "changeAndSnapshot" in obj, get: obj => obj.changeAndSnapshot }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
382
|
-
__esDecorate(null, null, _value_decorators, { kind: "field", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
|
|
383
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
384
|
-
}
|
|
385
|
-
value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, 'before'));
|
|
386
|
-
async changeAndSnapshot() {
|
|
387
|
-
this.value = 'after';
|
|
388
|
-
// Snapshot should capture 'after' since it's after step completion
|
|
389
|
-
return 'done';
|
|
390
|
-
}
|
|
391
|
-
async run() {
|
|
392
|
-
await this.changeAndSnapshot();
|
|
393
|
-
return this.node.stateSnapshot;
|
|
394
|
-
}
|
|
395
|
-
constructor() {
|
|
396
|
-
super(...arguments);
|
|
397
|
-
__runInitializers(this, _value_extraInitializers);
|
|
398
|
-
}
|
|
399
|
-
};
|
|
400
|
-
})();
|
|
401
|
-
const workflow = new TestWorkflow();
|
|
402
|
-
const snapshot = await workflow.run();
|
|
403
|
-
expect(snapshot?.value).toBe('after');
|
|
404
|
-
});
|
|
405
|
-
});
|
|
406
|
-
describe('Creative: Real-world TDD Workflow Scenario', () => {
|
|
407
|
-
it('should handle realistic test-driven development cycle', async () => {
|
|
408
|
-
const testResults = [];
|
|
409
|
-
let TestWorkflow = (() => {
|
|
410
|
-
let _classSuper = Workflow;
|
|
411
|
-
let _instanceExtraInitializers = [];
|
|
412
|
-
let _testName_decorators;
|
|
413
|
-
let _testName_initializers = [];
|
|
414
|
-
let _testName_extraInitializers = [];
|
|
415
|
-
let _passed_decorators;
|
|
416
|
-
let _passed_initializers = [];
|
|
417
|
-
let _passed_extraInitializers = [];
|
|
418
|
-
let _writeTest_decorators;
|
|
419
|
-
let _runTest_decorators;
|
|
420
|
-
let _writeCode_decorators;
|
|
421
|
-
return class TestWorkflow extends _classSuper {
|
|
422
|
-
static {
|
|
423
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
424
|
-
_testName_decorators = [ObservedState()];
|
|
425
|
-
_passed_decorators = [ObservedState()];
|
|
426
|
-
_writeTest_decorators = [Step({ logStart: true, logFinish: true })];
|
|
427
|
-
_runTest_decorators = [Step({ trackTiming: true })];
|
|
428
|
-
_writeCode_decorators = [Step()];
|
|
429
|
-
__esDecorate(this, null, _writeTest_decorators, { kind: "method", name: "writeTest", static: false, private: false, access: { has: obj => "writeTest" in obj, get: obj => obj.writeTest }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
430
|
-
__esDecorate(this, null, _runTest_decorators, { kind: "method", name: "runTest", static: false, private: false, access: { has: obj => "runTest" in obj, get: obj => obj.runTest }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
431
|
-
__esDecorate(this, null, _writeCode_decorators, { kind: "method", name: "writeCode", static: false, private: false, access: { has: obj => "writeCode" in obj, get: obj => obj.writeCode }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
432
|
-
__esDecorate(null, null, _testName_decorators, { kind: "field", name: "testName", static: false, private: false, access: { has: obj => "testName" in obj, get: obj => obj.testName, set: (obj, value) => { obj.testName = value; } }, metadata: _metadata }, _testName_initializers, _testName_extraInitializers);
|
|
433
|
-
__esDecorate(null, null, _passed_decorators, { kind: "field", name: "passed", static: false, private: false, access: { has: obj => "passed" in obj, get: obj => obj.passed, set: (obj, value) => { obj.passed = value; } }, metadata: _metadata }, _passed_initializers, _passed_extraInitializers);
|
|
434
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
435
|
-
}
|
|
436
|
-
testName = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _testName_initializers, ''));
|
|
437
|
-
passed = (__runInitializers(this, _testName_extraInitializers), __runInitializers(this, _passed_initializers, false));
|
|
438
|
-
async writeTest(testName) {
|
|
439
|
-
this.testName = testName;
|
|
440
|
-
this.logger.info(`Writing test: ${testName}`);
|
|
441
|
-
}
|
|
442
|
-
async runTest() {
|
|
443
|
-
this.logger.info('Running test...');
|
|
444
|
-
// Simulate test failure
|
|
445
|
-
this.passed = false;
|
|
446
|
-
throw new Error('Test failed: Implementation missing');
|
|
447
|
-
}
|
|
448
|
-
async writeCode() {
|
|
449
|
-
this.logger.info('Writing implementation...');
|
|
450
|
-
this.passed = true;
|
|
451
|
-
}
|
|
452
|
-
async run(testName) {
|
|
453
|
-
await this.writeTest(testName);
|
|
454
|
-
try {
|
|
455
|
-
await this.runTest();
|
|
456
|
-
}
|
|
457
|
-
catch (err) {
|
|
458
|
-
// Test failed - write code
|
|
459
|
-
await this.writeCode();
|
|
460
|
-
// Retry test
|
|
461
|
-
this.passed = true;
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
constructor() {
|
|
465
|
-
super(...arguments);
|
|
466
|
-
__runInitializers(this, _passed_extraInitializers);
|
|
467
|
-
}
|
|
468
|
-
};
|
|
469
|
-
})();
|
|
470
|
-
let Orchestrator = (() => {
|
|
471
|
-
let _classSuper = Workflow;
|
|
472
|
-
let _instanceExtraInitializers = [];
|
|
473
|
-
let _runTestCycle_decorators;
|
|
474
|
-
return class Orchestrator extends _classSuper {
|
|
475
|
-
static {
|
|
476
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
477
|
-
_runTestCycle_decorators = [Task()];
|
|
478
|
-
__esDecorate(this, null, _runTestCycle_decorators, { kind: "method", name: "runTestCycle", static: false, private: false, access: { has: obj => "runTestCycle" in obj, get: obj => obj.runTestCycle }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
479
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
480
|
-
}
|
|
481
|
-
async runTestCycle(testName) {
|
|
482
|
-
return new TestWorkflow('TestCycle', this);
|
|
483
|
-
}
|
|
484
|
-
async run() {
|
|
485
|
-
const testNames = ['shouldAdd', 'shouldSubtract', 'shouldMultiply'];
|
|
486
|
-
for (const name of testNames) {
|
|
487
|
-
await this.runTestCycle(name);
|
|
488
|
-
const testWf = this.children[this.children.length - 1];
|
|
489
|
-
await testWf.run(name);
|
|
490
|
-
testResults.push(`${name}:${testWf.node.status}`);
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
constructor() {
|
|
494
|
-
super(...arguments);
|
|
495
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
496
|
-
}
|
|
497
|
-
};
|
|
498
|
-
})();
|
|
499
|
-
const workflow = new Orchestrator();
|
|
500
|
-
await workflow.run();
|
|
501
|
-
expect(workflow.children.length).toBe(3);
|
|
502
|
-
expect(testResults.length).toBe(3);
|
|
503
|
-
});
|
|
504
|
-
});
|
|
505
|
-
describe('Creative: Nested Error Propagation', () => {
|
|
506
|
-
it('should properly handle errors at multiple hierarchy levels', async () => {
|
|
507
|
-
const errorsAtLevel = [];
|
|
508
|
-
let Level3Workflow = (() => {
|
|
509
|
-
let _classSuper = Workflow;
|
|
510
|
-
let _instanceExtraInitializers = [];
|
|
511
|
-
let _level_decorators;
|
|
512
|
-
let _level_initializers = [];
|
|
513
|
-
let _level_extraInitializers = [];
|
|
514
|
-
let _doWork_decorators;
|
|
515
|
-
return class Level3Workflow extends _classSuper {
|
|
516
|
-
static {
|
|
517
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
518
|
-
_level_decorators = [ObservedState()];
|
|
519
|
-
_doWork_decorators = [Step()];
|
|
520
|
-
__esDecorate(this, null, _doWork_decorators, { kind: "method", name: "doWork", static: false, private: false, access: { has: obj => "doWork" in obj, get: obj => obj.doWork }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
521
|
-
__esDecorate(null, null, _level_decorators, { kind: "field", name: "level", static: false, private: false, access: { has: obj => "level" in obj, get: obj => obj.level, set: (obj, value) => { obj.level = value; } }, metadata: _metadata }, _level_initializers, _level_extraInitializers);
|
|
522
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
523
|
-
}
|
|
524
|
-
level = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _level_initializers, 3));
|
|
525
|
-
async doWork() {
|
|
526
|
-
throw new Error('Level 3 error');
|
|
527
|
-
}
|
|
528
|
-
async run() {
|
|
529
|
-
return this.doWork();
|
|
530
|
-
}
|
|
531
|
-
constructor() {
|
|
532
|
-
super(...arguments);
|
|
533
|
-
__runInitializers(this, _level_extraInitializers);
|
|
534
|
-
}
|
|
535
|
-
};
|
|
536
|
-
})();
|
|
537
|
-
let Level2Workflow = (() => {
|
|
538
|
-
let _classSuper = Workflow;
|
|
539
|
-
let _instanceExtraInitializers = [];
|
|
540
|
-
let _level_decorators;
|
|
541
|
-
let _level_initializers = [];
|
|
542
|
-
let _level_extraInitializers = [];
|
|
543
|
-
let _spawnLevel3_decorators;
|
|
544
|
-
return class Level2Workflow extends _classSuper {
|
|
545
|
-
static {
|
|
546
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
547
|
-
_level_decorators = [ObservedState()];
|
|
548
|
-
_spawnLevel3_decorators = [Task()];
|
|
549
|
-
__esDecorate(this, null, _spawnLevel3_decorators, { kind: "method", name: "spawnLevel3", static: false, private: false, access: { has: obj => "spawnLevel3" in obj, get: obj => obj.spawnLevel3 }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
550
|
-
__esDecorate(null, null, _level_decorators, { kind: "field", name: "level", static: false, private: false, access: { has: obj => "level" in obj, get: obj => obj.level, set: (obj, value) => { obj.level = value; } }, metadata: _metadata }, _level_initializers, _level_extraInitializers);
|
|
551
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
552
|
-
}
|
|
553
|
-
level = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _level_initializers, 2));
|
|
554
|
-
async spawnLevel3() {
|
|
555
|
-
return new Level3Workflow('Level3', this);
|
|
556
|
-
}
|
|
557
|
-
async run() {
|
|
558
|
-
await this.spawnLevel3();
|
|
559
|
-
try {
|
|
560
|
-
await this.children[0].run();
|
|
561
|
-
}
|
|
562
|
-
catch (err) {
|
|
563
|
-
errorsAtLevel.push({ level: '2', error: err.message });
|
|
564
|
-
throw new Error('Level 2 wrapper error');
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
constructor() {
|
|
568
|
-
super(...arguments);
|
|
569
|
-
__runInitializers(this, _level_extraInitializers);
|
|
570
|
-
}
|
|
571
|
-
};
|
|
572
|
-
})();
|
|
573
|
-
let Level1Workflow = (() => {
|
|
574
|
-
let _classSuper = Workflow;
|
|
575
|
-
let _instanceExtraInitializers = [];
|
|
576
|
-
let _level_decorators;
|
|
577
|
-
let _level_initializers = [];
|
|
578
|
-
let _level_extraInitializers = [];
|
|
579
|
-
let _spawnLevel2_decorators;
|
|
580
|
-
return class Level1Workflow extends _classSuper {
|
|
581
|
-
static {
|
|
582
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
583
|
-
_level_decorators = [ObservedState()];
|
|
584
|
-
_spawnLevel2_decorators = [Task()];
|
|
585
|
-
__esDecorate(this, null, _spawnLevel2_decorators, { kind: "method", name: "spawnLevel2", static: false, private: false, access: { has: obj => "spawnLevel2" in obj, get: obj => obj.spawnLevel2 }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
586
|
-
__esDecorate(null, null, _level_decorators, { kind: "field", name: "level", static: false, private: false, access: { has: obj => "level" in obj, get: obj => obj.level, set: (obj, value) => { obj.level = value; } }, metadata: _metadata }, _level_initializers, _level_extraInitializers);
|
|
587
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
588
|
-
}
|
|
589
|
-
level = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _level_initializers, 1));
|
|
590
|
-
async spawnLevel2() {
|
|
591
|
-
return new Level2Workflow('Level2', this);
|
|
592
|
-
}
|
|
593
|
-
async run() {
|
|
594
|
-
await this.spawnLevel2();
|
|
595
|
-
try {
|
|
596
|
-
await this.children[0].run();
|
|
597
|
-
}
|
|
598
|
-
catch (err) {
|
|
599
|
-
errorsAtLevel.push({ level: '1', error: err.message });
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
constructor() {
|
|
603
|
-
super(...arguments);
|
|
604
|
-
__runInitializers(this, _level_extraInitializers);
|
|
605
|
-
}
|
|
606
|
-
};
|
|
607
|
-
})();
|
|
608
|
-
const workflow = new Level1Workflow();
|
|
609
|
-
// Add observer to capture all errors
|
|
610
|
-
workflow.addObserver({
|
|
611
|
-
onLog: () => { },
|
|
612
|
-
onEvent: (e) => {
|
|
613
|
-
if (e.type === 'error') {
|
|
614
|
-
errorsAtLevel.push({ level: 'observer', error: e.error.message });
|
|
615
|
-
}
|
|
616
|
-
},
|
|
617
|
-
onStateUpdated: () => { },
|
|
618
|
-
onTreeChanged: () => { },
|
|
619
|
-
});
|
|
620
|
-
await workflow.run();
|
|
621
|
-
// Should have captured errors at multiple levels
|
|
622
|
-
expect(errorsAtLevel.length).toBeGreaterThan(0);
|
|
623
|
-
});
|
|
624
|
-
});
|
|
625
|
-
});
|
|
626
|
-
//# sourceMappingURL=e2e-prd-validation.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"e2e-prd-validation.test.js","sourceRoot":"","sources":["../../../src/__tests__/adversarial/e2e-prd-validation.test.ts"],"names":[],"mappings":"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"}
|