@codemation/core 0.11.1 → 0.13.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/CHANGELOG.md +28 -0
- package/dist/{CostCatalogContract-DZgcUBE4.d.cts → CostCatalogContract-Dxq1BTyi.d.cts} +2 -2
- package/dist/{EngineRuntimeRegistration.types-Cggm5GVY.d.cts → EngineRuntimeRegistration.types-CqcTWexS.d.cts} +3 -3
- package/dist/{EngineRuntimeRegistration.types-BQbS9_gs.d.ts → EngineRuntimeRegistration.types-Cr75cSfL.d.ts} +2 -2
- package/dist/InMemoryRunDataFactory-Csy2evr_.d.cts +205 -0
- package/dist/{ItemsInputNormalizer-CwdOhSAK.cjs → ItemsInputNormalizer-57EdA1ad.cjs} +2 -2
- package/dist/{ItemsInputNormalizer-CwdOhSAK.cjs.map → ItemsInputNormalizer-57EdA1ad.cjs.map} +1 -1
- package/dist/{ItemsInputNormalizer-_Mfcd3YU.d.ts → ItemsInputNormalizer-BWtlwdVI.d.ts} +2 -2
- package/dist/{ItemsInputNormalizer-D-MH8MBs.js → ItemsInputNormalizer-BkSvmfAW.js} +2 -2
- package/dist/{ItemsInputNormalizer-D-MH8MBs.js.map → ItemsInputNormalizer-BkSvmfAW.js.map} +1 -1
- package/dist/{ItemsInputNormalizer-C_dpn76M.d.cts → ItemsInputNormalizer-pLrWwUAP.d.cts} +3 -3
- package/dist/{RunIntentService-CEF-sFfI.d.cts → RunIntentService-BitgkKaT.d.cts} +18 -4
- package/dist/{RunIntentService-BVur7x9n.d.ts → RunIntentService-DYpqfu6D.d.ts} +18 -4
- package/dist/{agentMcpTypes-ZiNbNsEi.d.cts → agentMcpTypes-DGIwk6Ue.d.cts} +201 -4
- package/dist/bootstrap/index.cjs +3 -3
- package/dist/bootstrap/index.d.cts +63 -7
- package/dist/bootstrap/index.d.ts +5 -5
- package/dist/bootstrap/index.js +3 -3
- package/dist/{bootstrap-BxuTFTLB.cjs → bootstrap-BEu1fJBM.cjs} +175 -4
- package/dist/bootstrap-BEu1fJBM.cjs.map +1 -0
- package/dist/{bootstrap-D_Yyi0wL.js → bootstrap-CSeInbj1.js} +173 -4
- package/dist/bootstrap-CSeInbj1.js.map +1 -0
- package/dist/browser.cjs +4 -2
- package/dist/browser.d.cts +4 -4
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +3 -3
- package/dist/contracts.d.cts +5 -5
- package/dist/contracts.d.ts +2 -2
- package/dist/{di-BlEKdoZS.cjs → di-C-2ep8NZ.cjs} +44 -1
- package/dist/di-C-2ep8NZ.cjs.map +1 -0
- package/dist/{di-0Wop7z1y.js → di-D9Mv3kF3.js} +33 -2
- package/dist/di-D9Mv3kF3.js.map +1 -0
- package/dist/{executionPersistenceContracts-BgZMRsTa.d.cts → executionPersistenceContracts-CN9d7AnL.d.cts} +2 -2
- package/dist/{index-62Ba9f7D.d.ts → index-CqZeNGAp.d.ts} +343 -101
- package/dist/{index-zWGtEhrf.d.ts → index-rllWL4r-.d.ts} +459 -5
- package/dist/index.cjs +91 -161
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +458 -97
- package/dist/index.d.ts +5 -5
- package/dist/index.js +74 -159
- package/dist/index.js.map +1 -1
- package/dist/{params-B5SENSzZ.d.cts → params-DRUr0F5v.d.cts} +2 -2
- package/dist/{runtime-cxmUkk0l.js → runtime-6-U2Cou5.js} +690 -18
- package/dist/runtime-6-U2Cou5.js.map +1 -0
- package/dist/{runtime-DBzq5YBi.cjs → runtime-DjYXgOo0.cjs} +749 -17
- package/dist/runtime-DjYXgOo0.cjs.map +1 -0
- package/dist/testing.cjs +3 -3
- package/dist/testing.d.cts +3 -3
- package/dist/testing.d.ts +3 -3
- package/dist/testing.js +3 -3
- package/package.json +1 -1
- package/src/authoring/defineHumanApprovalNode.types.ts +379 -0
- package/src/authoring/index.ts +6 -0
- package/src/binaries/DefaultExecutionBinaryServiceFactory.ts +27 -2
- package/src/binaries/DefaultNodeBinaryAttachmentServiceFactory.ts +14 -0
- package/src/binaries/boundedReadBinary.types.ts +90 -0
- package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +29 -0
- package/src/contracts/CodemationTelemetryAttributeNames.ts +10 -0
- package/src/contracts/credentialTypes.ts +10 -0
- package/src/contracts/hitlSeamTypes.ts +34 -0
- package/src/contracts/humanTaskStoreTypes.ts +48 -0
- package/src/contracts/inboxChannelTypes.ts +58 -0
- package/src/contracts/index.ts +3 -0
- package/src/contracts/runTypes.ts +61 -3
- package/src/contracts/runtimeTypes.ts +131 -0
- package/src/contracts/workspaceFileTypes.ts +73 -0
- package/src/credentials/CredentialMaterialProvider.types.ts +61 -0
- package/src/credentials/ManagedCredentialMaterialWriteError.ts +14 -0
- package/src/credentials/ManagedMaterialFetchError.ts +16 -0
- package/src/execution/ActivationEnqueueService.ts +16 -0
- package/src/execution/DefaultExecutionContextFactory.ts +11 -0
- package/src/execution/NodeExecutionSnapshotFactory.ts +7 -1
- package/src/execution/NodeExecutor.ts +60 -1
- package/src/execution/NodeExecutorFactory.ts +12 -2
- package/src/execution/NodeSuspensionHandler.ts +220 -0
- package/src/execution/PersistedRunStateTerminalBuilder.ts +5 -2
- package/src/execution/RunStateSemantics.ts +5 -0
- package/src/execution/RunSuspendedError.ts +21 -0
- package/src/index.ts +42 -0
- package/src/orchestration/Engine.ts +12 -2
- package/src/orchestration/EngineWaiters.ts +1 -1
- package/src/orchestration/NodeExecutionRequestHandlerService.ts +25 -2
- package/src/orchestration/RunContinuationService.ts +226 -2
- package/src/orchestration/TestSuiteOrchestrator.ts +5 -4
- package/src/runtime/RunIntentService.ts +3 -0
- package/src/workflow/dsl/ChainCursorResolver.ts +36 -0
- package/dist/InMemoryRunDataFactory-C7YItvHG.d.cts +0 -123
- package/dist/bootstrap-BxuTFTLB.cjs.map +0 -1
- package/dist/bootstrap-D_Yyi0wL.js.map +0 -1
- package/dist/di-0Wop7z1y.js.map +0 -1
- package/dist/di-BlEKdoZS.cjs.map +0 -1
- package/dist/runtime-DBzq5YBi.cjs.map +0 -1
- package/dist/runtime-cxmUkk0l.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import { i as WorkflowSnapshotCodec, u as Engine } from "./RunIntentService-
|
|
3
|
-
import { B as ZodSchemaAny, K as CallableToolConfig, q as CallableToolConfigOptions } from "./ItemsInputNormalizer-
|
|
1
|
+
import { $t as PersistedRunState, A as DefinedNodeCredentialAccessors, Ai as NodeActivationContinuation, Ar as RunId, Bi as NodeExecutionStatePublisher, Ci as HumanTaskActor, Do as OutputPortKey, Dr as PersistedRunPolicySnapshot, Ei as HumanTaskSubject, Eo as NodeId, Er as ParentExecutionRef, Fi as NodeBinaryAttachmentService, Fr as TriggerNodeConfig, Gi as PreparedNodeActivationDispatch, Gn as RunEventSubscription, Ha as CostTrackingTelemetry, Hi as NodeResolver, Ii as NodeExecutionContext, Ja as CollectionsContext, Jn as TestSuiteRunId, Ka as CostTrackingUsageRecord, Kn as TestCaseRunStatus, Li as NodeExecutionRequest, M as DefinedNodeCredentialBindings, Mi as NodeActivationRequest, Mr as RunnableNodeConfig, O as DefinedNode, Oa as TelemetryScope, On as TypeToken, Or as RunDataFactory, Pi as NodeActivationScheduler, Qn as BinaryAttachment, Qt as PersistedRunSchedulingState, Rt as ConnectionInvocationId, Si as ExecutionContextFactory, So as PollingTriggerLogger, Sr as NodeOutputs, Un as RunEvent, Vn as EngineExecutionLimitsPolicy, Vt as EngineRunCounters, Wa as CostTrackingTelemetryFactory, Wn as RunEventBus, Wt as NodeExecutionSnapshot, Yi as SuspensionRequest, Zn as ActivationIdFactory, _i as EngineDeps, _n as RunTestContext, aa as WorkflowRepository, ba as ExecutionTelemetryFactory, bi as ExecutionBinaryService, bn as WorkflowExecutionPruneRepository, cn as RunExecutionOptions, da as TriggerInstanceId, di as BinaryStorage, dr as NodeActivationId, eo as CredentialFieldSchema, er as Edge, fi as BinaryStorageReadResult, fn as RunResult, fo as CredentialSessionFactoryArgs, fr as NodeConfigBase, ga as WebhookTriggerRoutingDiagnostics, gn as RunSummary, go as CredentialTypeDefinition, hi as BinaryStorageWriteResult, ho as CredentialType, ht as CostCatalogEntry, ia as WorkflowNodeInstanceFactory, ir as Items, ja as TelemetrySpanScope, ko as WorkflowId, kr as RunDataSnapshot, lr as JsonValue, ma as WebhookTriggerMatcher, mt as CostCatalog, na as TriggerSetupStateRepository, nn as PersistedWorkflowSnapshotNode, nr as Item, oo as CredentialJsonRecord, pa as WebhookInvocationMatch, pi as BinaryStorageStatResult, po as CredentialSessionService, pr as NodeDefinition, qn as TestSuiteRunStatus, ra as TriggerTestItemsContext, si as RetryPolicySpec, to as CredentialHealth, tr as ExecutionMode, ua as HttpMethod, ui as BinaryBody, un as RunPruneCandidate, uo as CredentialRequirement, ur as MutableRunData, va as WorkflowActivationPolicy, vr as NodeInspectorSummaryRow, wi as HumanTaskHandle, wr as NodeSchedulerDecision, xi as ExecutionContext, xn as WorkflowExecutionRepository, xr as NodeOffloadPolicy, ya as ExecutionTelemetry, yn as WorkflowExecutionListingRepository, zi as NodeExecutionScheduler, zr as WorkflowDefinition, zt as ConnectionInvocationRecord } from "./index-rllWL4r-.js";
|
|
2
|
+
import { i as WorkflowSnapshotCodec, u as Engine } from "./RunIntentService-DYpqfu6D.js";
|
|
3
|
+
import { B as ZodSchemaAny, K as CallableToolConfig, q as CallableToolConfigOptions } from "./ItemsInputNormalizer-BWtlwdVI.js";
|
|
4
4
|
import { ZodType, z } from "zod";
|
|
5
5
|
|
|
6
6
|
//#region src/orchestration/AbortControllerFactory.d.ts
|
|
@@ -36,102 +36,136 @@ declare class SystemClock implements Clock {
|
|
|
36
36
|
now(): Date;
|
|
37
37
|
}
|
|
38
38
|
//#endregion
|
|
39
|
-
//#region src/
|
|
40
|
-
type
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
readonly
|
|
45
|
-
readonly
|
|
46
|
-
readonly
|
|
47
|
-
readonly
|
|
48
|
-
readonly
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
readonly
|
|
57
|
-
readonly
|
|
58
|
-
readonly
|
|
39
|
+
//#region src/contracts/humanTaskStoreTypes.d.ts
|
|
40
|
+
type HumanTaskStatus = "pending" | "decided" | "timed_out" | "auto_accepted" | "cancelled";
|
|
41
|
+
/** Persisted record for a single HITL task instance. */
|
|
42
|
+
interface HumanTaskRecord {
|
|
43
|
+
readonly id: string;
|
|
44
|
+
readonly runId: string;
|
|
45
|
+
readonly workflowId: string;
|
|
46
|
+
readonly workspaceId?: string;
|
|
47
|
+
readonly nodeId: string;
|
|
48
|
+
readonly activationId: string;
|
|
49
|
+
readonly itemIndex: number;
|
|
50
|
+
readonly status: HumanTaskStatus;
|
|
51
|
+
readonly channel: string;
|
|
52
|
+
readonly subject: HumanTaskSubject;
|
|
53
|
+
readonly metadata: Record<string, JsonValue>;
|
|
54
|
+
readonly decisionSchemaJson: string;
|
|
55
|
+
readonly decisionSchemaHash: string;
|
|
56
|
+
readonly onTimeout: "halt" | "auto-accept";
|
|
57
|
+
readonly deliveryRef?: JsonValue;
|
|
58
|
+
readonly decision?: JsonValue;
|
|
59
|
+
readonly decidedAt?: Date;
|
|
60
|
+
readonly decidedBy?: HumanTaskActor;
|
|
61
|
+
readonly resumeTokenHash: string;
|
|
62
|
+
readonly expiresAt: Date;
|
|
63
|
+
readonly createdAt: Date;
|
|
64
|
+
}
|
|
65
|
+
interface HumanTaskStore {
|
|
66
|
+
create(record: HumanTaskRecord): Promise<void>;
|
|
67
|
+
findById(taskId: string): Promise<HumanTaskRecord | undefined>;
|
|
68
|
+
findByResumeTokenHash(tokenHash: string): Promise<HumanTaskRecord | undefined>;
|
|
69
|
+
findPendingForWorkspace(workspaceId: string): Promise<ReadonlyArray<HumanTaskRecord>>;
|
|
70
|
+
/** Returns all pending tasks regardless of workspace. Used by the local dev inbox (non-managed mode). */
|
|
71
|
+
findAllPending(): Promise<ReadonlyArray<HumanTaskRecord>>;
|
|
72
|
+
markDecided(args: {
|
|
73
|
+
taskId: string;
|
|
74
|
+
decision: JsonValue;
|
|
75
|
+
decidedBy: HumanTaskActor;
|
|
76
|
+
decidedAt: Date;
|
|
77
|
+
}): Promise<void>;
|
|
78
|
+
markTimedOut(taskId: string): Promise<void>;
|
|
79
|
+
markAutoAccepted(taskId: string): Promise<void>;
|
|
80
|
+
markCancelled(taskId: string): Promise<void>;
|
|
81
|
+
cancelPendingForRun(runId: string): Promise<void>;
|
|
59
82
|
}
|
|
83
|
+
declare const HumanTaskStoreToken: TypeToken<HumanTaskStore | undefined>;
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region src/contracts/hitlSeamTypes.d.ts
|
|
60
86
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
87
|
+
* Seam interfaces for HITL collaborators that are implemented in `@codemation/host`
|
|
88
|
+
* and injected into `NodeSuspensionHandler` at runtime. Core defines the interface only —
|
|
89
|
+
* no HTTP, vendor SDK, or Prisma dependencies here.
|
|
63
90
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
interface
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
create<TConfigItemJson = TInputJson>(config: DefinedNodeConfigInput<TConfig$1, TConfigItemJson>, name?: string, id?: string): RunnableNodeConfig<TInputJson, TOutputJson>;
|
|
80
|
-
register(context: {
|
|
81
|
-
registerNode<TValue>(token: TypeToken<TValue>, implementation?: TypeToken<TValue>): void;
|
|
82
|
-
}): void;
|
|
91
|
+
/** Signs and hashes a HITL resume token. Core only needs the sign and hash operations. */
|
|
92
|
+
interface HitlResumeTokenSignerSeam {
|
|
93
|
+
sign(args: {
|
|
94
|
+
taskId: string;
|
|
95
|
+
expiresAt: Date;
|
|
96
|
+
schemaHash: string;
|
|
97
|
+
}): string;
|
|
98
|
+
hashToken(token: string): string;
|
|
99
|
+
}
|
|
100
|
+
/** Schedules a delayed BullMQ job that drives the timeout path. */
|
|
101
|
+
interface HitlTimeoutJobSchedulerSeam {
|
|
102
|
+
enqueueTimeoutJob(args: {
|
|
103
|
+
taskId: string;
|
|
104
|
+
expiresAt: Date;
|
|
105
|
+
}): Promise<void>;
|
|
83
106
|
}
|
|
107
|
+
declare const HitlResumeTokenSignerToken: TypeToken<HitlResumeTokenSignerSeam | undefined>;
|
|
108
|
+
declare const HitlTimeoutJobSchedulerToken: TypeToken<HitlTimeoutJobSchedulerSeam | undefined>;
|
|
84
109
|
/**
|
|
85
|
-
*
|
|
110
|
+
* Optional workspace ID injected into NodeSuspensionHandler in managed mode (T7 security fix).
|
|
111
|
+
* Allows the handler to stamp the workspaceId on each HumanTaskRecord so HitlCallbackHandler
|
|
112
|
+
* can assert workspace identity independently of the HMAC middleware.
|
|
113
|
+
* Not registered in non-managed mode; NodeSuspensionHandler defaults to null.
|
|
86
114
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
readonly description?: string;
|
|
91
|
-
/**
|
|
92
|
-
* Canvas icon for this node (same contract as `NodeConfigBase.icon` on runnable configs).
|
|
93
|
-
* The Next host resolves Lucide (`lucide:…`), built-in SVGs (`builtin:…`), Simple Icons (`si:…`), and image URLs (`https:`, `data:`, `/…`).
|
|
94
|
-
*/
|
|
95
|
-
readonly icon?: string;
|
|
96
|
-
/** Default values / form hints for **static** node configuration (credentials, retry, IDs), not per-item payload. */
|
|
97
|
-
readonly input?: Readonly<Record<keyof TConfig$1 & string, unknown>>;
|
|
98
|
-
readonly configSchema?: z.ZodType<TConfig$1>;
|
|
99
|
-
readonly credentials?: TBindings;
|
|
100
|
-
/**
|
|
101
|
-
* Validates **`input`** (engine also accepts `inputSchema` on the node class).
|
|
102
|
-
*/
|
|
103
|
-
readonly inputSchema?: ZodType<TInputJson>;
|
|
104
|
-
/** Preserve inbound `item.binary` when `execute` returns plain JSON or item-shaped results without `binary`. */
|
|
105
|
-
readonly keepBinaries?: boolean;
|
|
106
|
-
/**
|
|
107
|
-
* Static configuration summary surfaced in the workflow inspector — see
|
|
108
|
-
* {@link import("../contracts/workflowTypes").NodeConfigBase.inspectorSummary}.
|
|
109
|
-
*
|
|
110
|
-
* Receives the static config; returns 2–6 short label/value pairs (or `undefined` to skip).
|
|
111
|
-
*/
|
|
112
|
-
readonly inspectorSummary?: (args: Readonly<{
|
|
113
|
-
config: TConfig$1;
|
|
114
|
-
}>) => ReadonlyArray<NodeInspectorSummaryRow> | undefined;
|
|
115
|
-
execute(args: DefineNodeExecuteArgs<TConfig$1, TInputJson>, context: DefinedNodeRunContext<TConfig$1, TBindings>): MaybePromise$2<TOutputJson>;
|
|
116
|
-
}
|
|
115
|
+
declare const HitlWorkspaceIdToken: TypeToken<string | undefined>;
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/contracts/inboxChannelTypes.d.ts
|
|
117
118
|
/**
|
|
118
|
-
*
|
|
119
|
+
* A single inbox delivery channel.
|
|
120
|
+
* Implementations: `LocalInboxChannel`, `ControlPlaneInboxChannel`.
|
|
119
121
|
*/
|
|
120
|
-
interface
|
|
121
|
-
readonly
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
122
|
+
interface InboxChannel {
|
|
123
|
+
readonly kind: "local" | "control-plane-inbox";
|
|
124
|
+
deliver(args: InboxDeliverArgs): Promise<InboxDelivery>;
|
|
125
|
+
updateOnDecision?(args: InboxOnDecisionArgs): Promise<void>;
|
|
126
|
+
updateOnTimeout?(args: InboxOnTimeoutArgs): Promise<void>;
|
|
127
|
+
}
|
|
128
|
+
type InboxDeliverArgs = Readonly<{
|
|
129
|
+
task: HumanTaskHandle;
|
|
130
|
+
subject: HumanTaskSubject;
|
|
131
|
+
priority: "low" | "normal" | "high";
|
|
132
|
+
item: Item;
|
|
133
|
+
/** Present in managed mode (from `PairingConfig.workspaceId`). */
|
|
134
|
+
workspaceId?: string;
|
|
135
|
+
}>;
|
|
136
|
+
type InboxDelivery = {
|
|
137
|
+
kind: "local";
|
|
138
|
+
inboxItemId: string;
|
|
139
|
+
} | {
|
|
140
|
+
kind: "cp";
|
|
141
|
+
inboxItemId: string;
|
|
142
|
+
workspaceId: string;
|
|
143
|
+
};
|
|
144
|
+
type InboxOnDecisionArgs = Readonly<{
|
|
145
|
+
delivery: InboxDelivery;
|
|
146
|
+
decision: {
|
|
147
|
+
approved: boolean;
|
|
148
|
+
note?: string;
|
|
149
|
+
};
|
|
150
|
+
actor: HumanTaskActor;
|
|
151
|
+
}>;
|
|
152
|
+
type InboxOnTimeoutArgs = Readonly<{
|
|
153
|
+
delivery: InboxDelivery;
|
|
154
|
+
policy: "halt" | "auto-accept";
|
|
155
|
+
}>;
|
|
156
|
+
/**
|
|
157
|
+
* Resolves the correct `InboxChannel` for the current deployment mode
|
|
158
|
+
* (local dev vs. managed/CP). Implemented in `@codemation/host`.
|
|
159
|
+
*/
|
|
160
|
+
interface InboxChannelResolverSeam {
|
|
161
|
+
resolve(): {
|
|
162
|
+
channel: InboxChannel;
|
|
163
|
+
workspaceId?: string;
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
declare const InboxChannelResolverToken: TypeToken<InboxChannelResolverSeam | undefined>;
|
|
167
|
+
declare const LocalInboxChannelToken: TypeToken<InboxChannel | undefined>;
|
|
168
|
+
declare const ControlPlaneInboxChannelToken: TypeToken<InboxChannel | undefined>;
|
|
135
169
|
//#endregion
|
|
136
170
|
//#region src/authoring/DefinedNodeRegistry.d.ts
|
|
137
171
|
declare class DefinedNodeRegistry {
|
|
@@ -264,12 +298,12 @@ type DefinePollingTriggerTestItemsContext<TConfig$1 extends TriggerNodeConfig<an
|
|
|
264
298
|
/**
|
|
265
299
|
* Options accepted by `definePollingTrigger`.
|
|
266
300
|
*/
|
|
267
|
-
interface DefinePollingTriggerOptions<TKey
|
|
301
|
+
interface DefinePollingTriggerOptions<TKey extends string, TConfig$1 extends CredentialJsonRecord, TItemJson, TState extends JsonValue | undefined, TBindings extends DefinedNodeCredentialBindings | undefined = undefined> {
|
|
268
302
|
/**
|
|
269
303
|
* Unique node-token-id-style key, e.g. `"msgraph-mail.on-new-mail"`.
|
|
270
304
|
* Used as the persisted runtime type name — must be stable across deployments.
|
|
271
305
|
*/
|
|
272
|
-
readonly key: TKey
|
|
306
|
+
readonly key: TKey;
|
|
273
307
|
readonly title: string;
|
|
274
308
|
readonly description?: string;
|
|
275
309
|
/** Canvas icon (same contract as `NodeConfigBase.icon`). */
|
|
@@ -324,9 +358,9 @@ interface DefinePollingTriggerOptions<TKey$1 extends string, TConfig$1 extends C
|
|
|
324
358
|
*
|
|
325
359
|
* `poll` is also directly callable for unit-testing — no runtime needed.
|
|
326
360
|
*/
|
|
327
|
-
interface DefinedPollingTrigger<TKey
|
|
361
|
+
interface DefinedPollingTrigger<TKey extends string, TConfig$1 extends CredentialJsonRecord, TItemJson, TState extends JsonValue | undefined, TBindings extends DefinedNodeCredentialBindings | undefined = undefined> {
|
|
328
362
|
readonly kind: "defined-polling-trigger";
|
|
329
|
-
readonly key: TKey
|
|
363
|
+
readonly key: TKey;
|
|
330
364
|
readonly title: string;
|
|
331
365
|
readonly description?: string;
|
|
332
366
|
/**
|
|
@@ -391,7 +425,7 @@ declare class DefinedPollingTriggerConfig<TConfig$1 extends CredentialJsonRecord
|
|
|
391
425
|
* });
|
|
392
426
|
* ```
|
|
393
427
|
*/
|
|
394
|
-
declare function definePollingTrigger<TKey
|
|
428
|
+
declare function definePollingTrigger<TKey extends string, TConfig$1 extends CredentialJsonRecord, TItemJson, TState extends JsonValue | undefined, TBindings extends DefinedNodeCredentialBindings | undefined = undefined>(options: DefinePollingTriggerOptions<TKey, TConfig$1, TItemJson, TState, TBindings>): DefinedPollingTrigger<TKey, TConfig$1, TItemJson, TState, TBindings>;
|
|
395
429
|
//#endregion
|
|
396
430
|
//#region src/events/ConnectionInvocationEventPublisher.d.ts
|
|
397
431
|
/**
|
|
@@ -525,6 +559,9 @@ declare class DefaultExecutionBinaryService implements ExecutionBinaryService {
|
|
|
525
559
|
activationId: NodeActivationId;
|
|
526
560
|
}): NodeBinaryAttachmentService;
|
|
527
561
|
openReadStream(attachment: BinaryAttachment): Promise<BinaryStorageReadResult | undefined>;
|
|
562
|
+
getBytes(attachment: BinaryAttachment, maxBytes?: number): Promise<Uint8Array>;
|
|
563
|
+
getText(attachment: BinaryAttachment, maxBytes?: number): Promise<string>;
|
|
564
|
+
getJson<T = unknown>(attachment: BinaryAttachment, maxBytes?: number): Promise<T>;
|
|
528
565
|
}
|
|
529
566
|
//#endregion
|
|
530
567
|
//#region src/execution/ChildExecutionScopeFactory.d.ts
|
|
@@ -570,8 +607,9 @@ declare class DefaultExecutionContextFactory implements ExecutionContextFactory
|
|
|
570
607
|
private readonly costTrackingFactory;
|
|
571
608
|
private readonly currentDate;
|
|
572
609
|
private readonly collections?;
|
|
610
|
+
private readonly nodeResolver?;
|
|
573
611
|
private readonly telemetryDecoratorFactory;
|
|
574
|
-
constructor(binaryStorage?: BinaryStorage, telemetryFactory?: ExecutionTelemetryFactory, costTrackingFactory?: CostTrackingTelemetryFactory, currentDate?: () => Date, collections?: CollectionsContext | undefined);
|
|
612
|
+
constructor(binaryStorage?: BinaryStorage, telemetryFactory?: ExecutionTelemetryFactory, costTrackingFactory?: CostTrackingTelemetryFactory, currentDate?: () => Date, collections?: CollectionsContext | undefined, nodeResolver?: NodeResolver | undefined);
|
|
575
613
|
create(args: {
|
|
576
614
|
runId: RunId;
|
|
577
615
|
workflowId: WorkflowId;
|
|
@@ -641,15 +679,71 @@ declare class NodeOutputNormalizer {
|
|
|
641
679
|
private applyOutput;
|
|
642
680
|
}
|
|
643
681
|
//#endregion
|
|
682
|
+
//#region src/execution/NodeSuspensionHandler.d.ts
|
|
683
|
+
/**
|
|
684
|
+
* Handles per-item `SuspensionRequest` catches in the engine's item execution loop.
|
|
685
|
+
*
|
|
686
|
+
* Responsibilities:
|
|
687
|
+
* 1. Generate a `taskId` (UUID v4).
|
|
688
|
+
* 2. Persist a `HumanTask` row via `HumanTaskStore.create`.
|
|
689
|
+
* 3. Sign a resume URL via `HitlResumeTokenSigner.sign`.
|
|
690
|
+
* 4. Enqueue a delayed BullMQ timeout job via `HitlTimeoutJobScheduler.enqueue`.
|
|
691
|
+
* 5. Build a `HumanTaskHandle` and call `deliver`.
|
|
692
|
+
* 6. Append a `PersistedSuspensionEntry` to the run state and flip status to `"suspended"`.
|
|
693
|
+
* 7. Persist via `WorkflowExecutionRepository.save`.
|
|
694
|
+
* 8. Throw `RunSuspendedError` so the caller can exit cleanly.
|
|
695
|
+
*
|
|
696
|
+
* If `deliver` throws, the error propagates up to `NodeExecutionRequestHandlerService`
|
|
697
|
+
* which routes it through `resumeFromNodeError` → run status becomes `"failed"`.
|
|
698
|
+
*
|
|
699
|
+
* `humanTaskStore`, `tokenSigner`, and `timeoutScheduler` are optional —
|
|
700
|
+
* when not registered (e.g. in unit tests), the handler still suspends the run but
|
|
701
|
+
* skips persistence, token signing, and job scheduling.
|
|
702
|
+
*/
|
|
703
|
+
declare class NodeSuspensionHandler {
|
|
704
|
+
private readonly workflowExecutionRepository;
|
|
705
|
+
private readonly humanTaskStore?;
|
|
706
|
+
private readonly tokenSigner?;
|
|
707
|
+
private readonly timeoutScheduler?;
|
|
708
|
+
/** Workspace ID to stamp on HumanTaskRecord in managed mode (T7 security fix). Null in non-managed mode. */
|
|
709
|
+
private readonly workspaceId?;
|
|
710
|
+
constructor(workflowExecutionRepository: WorkflowExecutionRepository, humanTaskStore?: HumanTaskStore | undefined, tokenSigner?: HitlResumeTokenSignerSeam | undefined, timeoutScheduler?: HitlTimeoutJobSchedulerSeam | undefined, /** Workspace ID to stamp on HumanTaskRecord in managed mode (T7 security fix). Null in non-managed mode. */
|
|
711
|
+
workspaceId?: string | undefined);
|
|
712
|
+
handle(args: {
|
|
713
|
+
runId: RunId;
|
|
714
|
+
nodeId: NodeId;
|
|
715
|
+
activationId: NodeActivationId;
|
|
716
|
+
itemIndex: number;
|
|
717
|
+
suspensionRequest: SuspensionRequest;
|
|
718
|
+
state: PersistedRunState;
|
|
719
|
+
/** Telemetry scope of the node's per-item span. Used to emit `hitl.task.*` span events. */
|
|
720
|
+
telemetry?: TelemetryScope;
|
|
721
|
+
}): Promise<never>;
|
|
722
|
+
/**
|
|
723
|
+
* Parse a duration string into milliseconds.
|
|
724
|
+
* Accepts ISO 8601 durations ("PT24H", "PT30M") and shorthand ("24h", "30m", "1d").
|
|
725
|
+
* Throws for unrecognised formats.
|
|
726
|
+
*/
|
|
727
|
+
private parseDurationMs;
|
|
728
|
+
private hashSchema;
|
|
729
|
+
private schemaToJson;
|
|
730
|
+
}
|
|
731
|
+
//#endregion
|
|
644
732
|
//#region src/execution/NodeExecutor.d.ts
|
|
645
733
|
declare class NodeExecutor {
|
|
646
734
|
private readonly nodeInstanceFactory;
|
|
647
735
|
private readonly retryRunner;
|
|
736
|
+
/** Required for HITL suspension support. When omitted, `SuspensionRequest` throws upward. */
|
|
737
|
+
private readonly suspensionHandler?;
|
|
738
|
+
/** Required alongside `suspensionHandler`. */
|
|
739
|
+
private readonly loadRunState?;
|
|
648
740
|
private readonly fanInMerger;
|
|
649
741
|
private readonly outputNormalizer;
|
|
650
742
|
private readonly itemExprResolver;
|
|
651
743
|
private readonly outputBehaviorResolver;
|
|
652
|
-
constructor(nodeInstanceFactory: WorkflowNodeInstanceFactory, retryRunner: InProcessRetryRunner, itemExprResolver?: ItemExprResolver, outputBehaviorResolver?: RunnableOutputBehaviorResolver
|
|
744
|
+
constructor(nodeInstanceFactory: WorkflowNodeInstanceFactory, retryRunner: InProcessRetryRunner, itemExprResolver?: ItemExprResolver, outputBehaviorResolver?: RunnableOutputBehaviorResolver, /** Required for HITL suspension support. When omitted, `SuspensionRequest` throws upward. */
|
|
745
|
+
suspensionHandler?: NodeSuspensionHandler | undefined, /** Required alongside `suspensionHandler`. */
|
|
746
|
+
loadRunState?: ((runId: RunId) => Promise<PersistedRunState | undefined>) | undefined);
|
|
653
747
|
execute(request: NodeActivationRequest): Promise<NodeOutputs>;
|
|
654
748
|
private assertRequiredCredentialsBound;
|
|
655
749
|
private isCredentialError;
|
|
@@ -968,6 +1062,154 @@ interface OAuthFlowExecutor {
|
|
|
968
1062
|
}): Promise<OAuthMaterial>;
|
|
969
1063
|
}
|
|
970
1064
|
//#endregion
|
|
1065
|
+
//#region src/credentials/CredentialMaterialProvider.types.d.ts
|
|
1066
|
+
/**
|
|
1067
|
+
* Material provider seam — see `docs/design/credentials-oauth-unification.md`,
|
|
1068
|
+
* "Material provider seam" section. Sits beside the workspace's
|
|
1069
|
+
* `CredentialStore`; persistence of the row stays at the store, persistence of
|
|
1070
|
+
* the bytes goes through this provider so they can live at the control plane
|
|
1071
|
+
* in managed mode.
|
|
1072
|
+
*/
|
|
1073
|
+
/**
|
|
1074
|
+
* Pointer to material bytes. For local rows `ref` is the workspace instance id
|
|
1075
|
+
* and the bytes co-locate with the row (existing `CredentialOAuth2Material` /
|
|
1076
|
+
* `CredentialSecretMaterial` tables). For control-plane rows `ref` is the
|
|
1077
|
+
* CP-side credential id; the workspace stores only the pointer.
|
|
1078
|
+
*/
|
|
1079
|
+
type CredentialMaterialRef = Readonly<{
|
|
1080
|
+
source: "local" | "control-plane";
|
|
1081
|
+
id: string;
|
|
1082
|
+
}>;
|
|
1083
|
+
/**
|
|
1084
|
+
* Decrypted material bytes returned by a provider. Shape matches
|
|
1085
|
+
* `OAuthMaterial` — every supported credential type today is OAuth-shaped.
|
|
1086
|
+
*/
|
|
1087
|
+
type MaterialBundle = OAuthMaterial;
|
|
1088
|
+
/**
|
|
1089
|
+
* Caller context recorded by the CP material endpoint per fetch (D5 in the
|
|
1090
|
+
* `credentials-vault` sprint README). The local provider accepts but ignores
|
|
1091
|
+
* it; standalone mode has no audit log.
|
|
1092
|
+
*/
|
|
1093
|
+
type CallerContext = Readonly<{
|
|
1094
|
+
workspaceId: string;
|
|
1095
|
+
caller: Readonly<{
|
|
1096
|
+
kind: "workflow-node";
|
|
1097
|
+
workflowId: string;
|
|
1098
|
+
nodeId: string;
|
|
1099
|
+
}> | Readonly<{
|
|
1100
|
+
kind: "concierge";
|
|
1101
|
+
chatId: string;
|
|
1102
|
+
}> | Readonly<{
|
|
1103
|
+
kind: "research-agent";
|
|
1104
|
+
chatId: string;
|
|
1105
|
+
}> | Readonly<{
|
|
1106
|
+
kind: "manual";
|
|
1107
|
+
userId: string;
|
|
1108
|
+
}>;
|
|
1109
|
+
reason?: string;
|
|
1110
|
+
}>;
|
|
1111
|
+
interface CredentialMaterialProvider {
|
|
1112
|
+
getMaterial(ref: CredentialMaterialRef, context: CallerContext): Promise<MaterialBundle>;
|
|
1113
|
+
setMaterial(ref: CredentialMaterialRef, material: MaterialBundle): Promise<void>;
|
|
1114
|
+
}
|
|
1115
|
+
/**
|
|
1116
|
+
* Thrown by a provider when asked to operate on a `ref.source` it does not
|
|
1117
|
+
* handle (e.g. the local provider being asked to read `control-plane` bytes).
|
|
1118
|
+
* Exported so `instanceof`-checks work across the workspace boundary.
|
|
1119
|
+
*/
|
|
1120
|
+
declare class IllegalMaterialSourceError extends Error {
|
|
1121
|
+
readonly source: CredentialMaterialRef["source"];
|
|
1122
|
+
readonly providerName: string;
|
|
1123
|
+
constructor(source: CredentialMaterialRef["source"], providerName: string);
|
|
1124
|
+
}
|
|
1125
|
+
//#endregion
|
|
1126
|
+
//#region src/credentials/ManagedCredentialMaterialWriteError.d.ts
|
|
1127
|
+
/**
|
|
1128
|
+
* Thrown by managed-mode providers when `setMaterial` is called. Managed
|
|
1129
|
+
* credential bytes are owned by the control plane; the workspace must not
|
|
1130
|
+
* mutate them. See `docs/design/credentials-oauth-unification.md` and
|
|
1131
|
+
* `planning/sprints/credentials-vault/02-controlplane-material-provider.md`.
|
|
1132
|
+
*/
|
|
1133
|
+
declare class ManagedCredentialMaterialWriteError extends Error {
|
|
1134
|
+
constructor(message?: string);
|
|
1135
|
+
}
|
|
1136
|
+
//#endregion
|
|
1137
|
+
//#region src/credentials/ManagedMaterialFetchError.d.ts
|
|
1138
|
+
/**
|
|
1139
|
+
* Thrown by `ControlPlaneCredentialMaterialProvider` when the control-plane
|
|
1140
|
+
* material endpoint returns a non-2xx response or a malformed body. Exposes
|
|
1141
|
+
* the HTTP status and the raw error body so call sites can surface actionable
|
|
1142
|
+
* detail without parsing strings.
|
|
1143
|
+
*/
|
|
1144
|
+
declare class ManagedMaterialFetchError extends Error {
|
|
1145
|
+
readonly status: number;
|
|
1146
|
+
readonly providerErrorBody: string;
|
|
1147
|
+
constructor(status: number, providerErrorBody: string, message?: string);
|
|
1148
|
+
}
|
|
1149
|
+
//#endregion
|
|
1150
|
+
//#region src/contracts/workspaceFileTypes.d.ts
|
|
1151
|
+
/**
|
|
1152
|
+
* Metadata returned for a workspace file object.
|
|
1153
|
+
* Filename and contentType come from the S3 object's custom metadata
|
|
1154
|
+
* (stamped by the control plane at upload time — story 03).
|
|
1155
|
+
* The local-fs driver reads them from a companion .meta.json sidecar.
|
|
1156
|
+
*/
|
|
1157
|
+
interface WorkspaceFileMetadata {
|
|
1158
|
+
/** Storage key: `<workspaceId>/files/<fileId>` */
|
|
1159
|
+
readonly key: string;
|
|
1160
|
+
/** Last path segment of the storage key. */
|
|
1161
|
+
readonly fileId: string;
|
|
1162
|
+
/** Original filename as stamped by the CP at upload time. Empty string if not yet stamped (pre-story-03). */
|
|
1163
|
+
readonly filename: string;
|
|
1164
|
+
readonly contentType: string;
|
|
1165
|
+
readonly size: number;
|
|
1166
|
+
readonly lastModified: Date;
|
|
1167
|
+
}
|
|
1168
|
+
/**
|
|
1169
|
+
* Read-only, workspace-scoped port for accessing the shared workspace file pool.
|
|
1170
|
+
* Implemented in `@codemation/host`; nodes reach it via `ctx.resolve(WorkspaceFileStorageToken)`.
|
|
1171
|
+
*
|
|
1172
|
+
* Key scheme: `<workspaceId>/files/<fileId>` — but nodes never construct raw keys.
|
|
1173
|
+
* Use the workspace-level helpers (`listFiles`, `getFileByName`, `getFileById`) instead.
|
|
1174
|
+
*
|
|
1175
|
+
* This adapter is SEPARATE from the run-scoped BinaryStorage — do not confuse the two.
|
|
1176
|
+
*/
|
|
1177
|
+
interface IWorkspaceFileStorage {
|
|
1178
|
+
/**
|
|
1179
|
+
* Lists all files in this workspace, sorted newest-first by lastModified.
|
|
1180
|
+
* Optional case-insensitive substring filter on filename.
|
|
1181
|
+
*/
|
|
1182
|
+
listFiles(filenameFilter?: string): Promise<ReadonlyArray<WorkspaceFileMetadata>>;
|
|
1183
|
+
/**
|
|
1184
|
+
* Returns metadata for the newest file with the given filename in this workspace.
|
|
1185
|
+
* @throws WorkspaceFileNotFoundError when no file with that name exists.
|
|
1186
|
+
*/
|
|
1187
|
+
getFileByName(filename: string): Promise<WorkspaceFileMetadata>;
|
|
1188
|
+
/**
|
|
1189
|
+
* Returns metadata for the file with the given fileId in this workspace.
|
|
1190
|
+
* @throws WorkspaceFileNotFoundError when no file with that id exists.
|
|
1191
|
+
*/
|
|
1192
|
+
getFileById(fileId: string): Promise<WorkspaceFileMetadata>;
|
|
1193
|
+
/**
|
|
1194
|
+
* Returns a non-buffered stream of the stored object's bytes.
|
|
1195
|
+
* Accepts a full storage key or a fileId (prefixes as needed).
|
|
1196
|
+
* @throws WorkspaceFileNotFoundError when the key does not exist.
|
|
1197
|
+
*/
|
|
1198
|
+
getStream(key: string): Promise<ReadableStream<Uint8Array>>;
|
|
1199
|
+
}
|
|
1200
|
+
/**
|
|
1201
|
+
* Error thrown when a requested workspace file key does not exist.
|
|
1202
|
+
*/
|
|
1203
|
+
declare class WorkspaceFileNotFoundError extends Error {
|
|
1204
|
+
readonly key: string;
|
|
1205
|
+
constructor(key: string);
|
|
1206
|
+
}
|
|
1207
|
+
/**
|
|
1208
|
+
* DI token for the workspace-scoped file storage adapter.
|
|
1209
|
+
* Registered by `@codemation/host`; resolved by workspace-file nodes via `ctx.resolve(...)`.
|
|
1210
|
+
*/
|
|
1211
|
+
declare const WorkspaceFileStorageToken: TypeToken<IWorkspaceFileStorage | undefined>;
|
|
1212
|
+
//#endregion
|
|
971
1213
|
//#region src/orchestration/TestSuiteRunIdFactory.d.ts
|
|
972
1214
|
/**
|
|
973
1215
|
* Mints unique TestSuiteRun identifiers. Separated from {@link import("../types").RunIdFactory}
|
|
@@ -985,7 +1227,7 @@ declare class TestSuiteRunIdFactory {
|
|
|
985
1227
|
interface TestSuiteOrchestratorEngine {
|
|
986
1228
|
runWorkflow(wf: WorkflowDefinition, startAt: NodeId, items: Items, parent?: ParentExecutionRef, executionOptions?: RunExecutionOptions): Promise<RunResult>;
|
|
987
1229
|
waitForCompletion(runId: RunId): Promise<Extract<RunResult, {
|
|
988
|
-
status: "completed" | "failed";
|
|
1230
|
+
status: "completed" | "failed" | "halted";
|
|
989
1231
|
}>>;
|
|
990
1232
|
}
|
|
991
1233
|
interface TestSuiteCaseOutcome {
|
|
@@ -1036,5 +1278,5 @@ declare class TestSuiteOrchestrator {
|
|
|
1036
1278
|
private publish;
|
|
1037
1279
|
}
|
|
1038
1280
|
//#endregion
|
|
1039
|
-
export {
|
|
1040
|
-
//# sourceMappingURL=index-
|
|
1281
|
+
export { ChildExecutionScopeFactory as $, HumanTaskStore as $t, WorkflowRepositoryWebhookTriggerMatcher as A, DefinedCollection as At, InlineDrivingScheduler as B, InboxChannelResolverToken as Bt, WorkflowEdgePortValidator as C, definePollingTrigger as Ct, PollingRunCycleResult as D, CollectionFieldDefinition as Dt, PollingRunCycleArgs as E, CollectionDefinition as Et, InMemoryRunDataFactory as F, defineCredential as Ft, NodeOutputNormalizer as G, LocalInboxChannelToken as Gt, StaticCostCatalog as H, InboxDelivery as Ht, InMemoryBinaryStorage as I, DefinedNodeRegistry as It, InProcessRetryRunner as J, HitlTimeoutJobSchedulerSeam as Jt, RunnableOutputBehaviorResolver as K, HitlResumeTokenSignerSeam as Kt, LocalOnlyScheduler as L, ControlPlaneInboxChannelToken as Lt, EngineFactory as M, defineCollection as Mt, RunSummaryMapper as N, callableTool as Nt, PollingTriggerRuntime as O, CollectionIndexDefinition as Ot, InMemoryWorkflowExecutionRepository as P, DefineCredentialOptions as Pt, AsyncSleeper as Q, HumanTaskStatus as Qt, HintOnlyOffloadPolicy as R, InboxChannel as Rt, OAuthMaterial as S, DefinedPollingTriggerConfig as St, WorkflowEdgePortValidationResult as T, CollectionColumnBuilder as Tt, NodeInstanceFactory as U, InboxOnDecisionArgs as Ut, ConfigDrivenOffloadPolicy as V, InboxDeliverArgs as Vt, NodeExecutor as W, InboxOnTimeoutArgs as Wt, DefaultExecutionContextFactory as X, HitlWorkspaceIdToken as Xt, CatalogBackedCostTrackingTelemetryFactory as Y, HitlTimeoutJobSchedulerToken as Yt, DefaultAsyncSleeper as Z, HumanTaskRecord as Zt, MaterialBundle as _, DefinePollingTriggerOptions as _t, TestSuiteRunResult as a, AbortControllerFactory as an, tool as at, OAuthFlowStartArgs as b, DefinePollingTriggerTestItemsContext as bt, WorkspaceFileMetadata as c, PersistedRuntimeTypeMetadataStore as ct, ManagedMaterialFetchError as d, PersistedRuntimeTypeKind as dt, HumanTaskStoreToken as en, DefaultExecutionBinaryService as et, ManagedCredentialMaterialWriteError as f, PersistedRuntimeTypeMetadata as ft, IllegalMaterialSourceError as g, DefinePollingTriggerExecuteContext as gt, CredentialMaterialRef as h, ConnectionInvocationEventPublisher as ht, TestSuiteOrchestratorEngine as i, CredentialResolverFactory as in, node as it, EngineCompositionDeps as j, c as jt, PollingTriggerStartArgs as k, DefineCollectionOptions as kt, WorkspaceFileNotFoundError as l, InjectableRuntimeDecoratorComposer as lt, CredentialMaterialProvider as m, InMemoryRunEventBus as mt, TestSuiteCaseOutcome as n, SystemClock as nn, chatModel as nt, TestSuiteRunIdFactory as o, StackTraceCallSitePathResolver as ot, CallerContext as p, EventPublishingWorkflowExecutionRepository as pt, ItemExprResolver as q, HitlResumeTokenSignerToken as qt, TestSuiteOrchestrator as r, NodeEventPublisher as rn, getPersistedRuntimeTypeMetadata as rt, IWorkspaceFileStorage as s, PersistedRuntimeTypeNameResolver as st, RunTestSuiteArgs as t, Clock as tn, UnavailableBinaryStorage as tt, WorkspaceFileStorageToken as u, PersistedRuntimeTypeDecoratorOptions as ut, OAuthFlowCallbackArgs as v, DefinePollingTriggerPollContext as vt, WorkflowEdgePortError as w, DefinedCollectionRegistry as wt, OAuthFlowStartResult as x, DefinedPollingTrigger as xt, OAuthFlowExecutor as y, DefinePollingTriggerPollResult as yt, DefaultDrivingScheduler as z, InboxChannelResolverSeam as zt };
|
|
1282
|
+
//# sourceMappingURL=index-CqZeNGAp.d.ts.map
|