@kodax-ai/kodax 0.7.71 → 0.7.72
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 +602 -487
- package/README.md +46 -27
- package/README_CN.md +30 -13
- package/dist/chunks/agent-YKGU4USA.js +2 -0
- package/dist/chunks/argument-completer-QZETLNAB.js +2 -0
- package/dist/chunks/{chunk-SX2WFHIS.js → chunk-2RI252RN.js} +1 -1
- package/dist/chunks/chunk-CLFP6UGU.js +71 -0
- package/dist/chunks/chunk-E27LHEIP.js +37 -0
- package/dist/chunks/chunk-EDZ5KJFT.js +5 -0
- package/dist/chunks/chunk-GIK4SGAT.js +364 -0
- package/dist/chunks/chunk-GVWPHE23.js +310 -0
- package/dist/chunks/{chunk-A2TFSV5M.js → chunk-IR5KIK7E.js} +1 -1
- package/dist/chunks/chunk-JSDLBXME.js +755 -0
- package/dist/chunks/chunk-MVARIMQV.js +22 -0
- package/dist/chunks/chunk-PKQOEDHJ.js +628 -0
- package/dist/chunks/{chunk-64NQBOSN.js → chunk-SQODXBLX.js} +1 -1
- package/dist/chunks/chunk-VDGCGOQH.js +328 -0
- package/dist/chunks/chunk-VVE3UM4F.js +410 -0
- package/dist/chunks/chunk-WIBLZK4G.js +151 -0
- package/dist/chunks/{compaction-config-5KKKXYFT.js → compaction-config-TWCDFLX6.js} +1 -1
- package/dist/chunks/{construction-bootstrap-OXDDDW6O.js → construction-bootstrap-ZJPXUPXQ.js} +1 -1
- package/dist/chunks/dist-JT4ATXVM.js +2 -0
- package/dist/chunks/host-SVEDZUC5.js +2 -0
- package/dist/chunks/{run-manager-Z3W6MDO7.js → run-manager-RX42UNEM.js} +1 -1
- package/dist/chunks/{utils-CFOXDCB5.js → utils-OTT5CG5J.js} +1 -1
- package/dist/index.d.ts +13 -13
- package/dist/index.js +4 -4
- package/dist/kodax_bootstrap.js +28 -0
- package/dist/kodax_cli.js +1325 -1333
- package/dist/kodax_resume.js +44 -0
- package/dist/provider-capabilities.json +50 -48
- package/dist/runtime-worker.js +1322 -1330
- package/dist/sdk-a2a.d.ts +10 -9
- package/dist/sdk-a2a.js +1 -1
- package/dist/sdk-agent.d.ts +382 -206
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +80 -128
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +3 -0
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +71 -23
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +143 -31
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-session.d.ts +6 -5
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.d.ts +5 -5
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +14 -14
- package/dist/types-chunks/{bash-prefix-extractor.d-YoiZl5yt.d.ts → bash-prefix-extractor.d-CHJO5y94.d.ts} +107 -248
- package/dist/types-chunks/{capsule.d-CK5Pfz1k.d.ts → capsule.d-DxtdE-GD.d.ts} +24 -95
- package/dist/types-chunks/center-types.d-BBT122uJ.d.ts +91 -0
- package/dist/types-chunks/{commands.d-D6g2jq8V.d.ts → commands.d-DZxHzH5-.d.ts} +6 -4
- package/dist/types-chunks/{guardrail.d-DilYC1dh.d.ts → guardrail.d-DlpMnd-Y.d.ts} +1 -1
- package/dist/types-chunks/{guardrail.d-DdeDWnVu.d.ts → guardrail.d-auV61_h5.d.ts} +83 -10
- package/dist/types-chunks/public-api.d--IDNJsu1.d.ts +1342 -0
- package/dist/types-chunks/{run-manager.d-DxU3SSGR.d.ts → run-manager.d-Bh50OdVl.d.ts} +1 -1
- package/dist/types-chunks/sdk-session-Cfw6NFu-.d.ts +82 -0
- package/dist/types-chunks/{types.d-CEZZSY9s.d.ts → types.d-CNZgY52F.d.ts} +2 -2
- package/dist/types-chunks/{types.d-vJExiRje.d.ts → types.d-DCQVBqVn.d.ts} +10 -5
- package/dist/types-chunks/{types.d-CRCaLt_s.d.ts → types.d-DH1mvdcl.d.ts} +284 -164
- package/dist/types-chunks/{types.d-CzsLFqmf.d.ts → types.d-EqQmHztg.d.ts} +9 -10
- package/dist/types-chunks/{utils.d-Cb6vdvFM.d.ts → utils.d-gmn3c5U4.d.ts} +9 -12
- package/docs/SDK_EMBEDDER_GUIDE.md +171 -26
- package/package.json +4 -4
- package/scripts/kodax-bin.cjs +4 -2
- package/scripts/production-env.cjs +9 -0
- package/dist/chunks/agent-X2EWQADL.js +0 -2
- package/dist/chunks/argument-completer-BLNXDO2F.js +0 -2
- package/dist/chunks/chunk-4DY756KL.js +0 -70
- package/dist/chunks/chunk-52JSZ77P.js +0 -37
- package/dist/chunks/chunk-A574DBTV.js +0 -422
- package/dist/chunks/chunk-F7KGYHJ3.js +0 -624
- package/dist/chunks/chunk-GVTM4Z6O.js +0 -151
- package/dist/chunks/chunk-PHH4TRGF.js +0 -22
- package/dist/chunks/chunk-PVUXONQB.js +0 -366
- package/dist/chunks/chunk-T7LYK53M.js +0 -329
- package/dist/chunks/chunk-VRSVNU2Y.js +0 -7
- package/dist/chunks/chunk-Y5XKAN7C.js +0 -755
- package/dist/chunks/chunk-Z535BARK.js +0 -306
- package/dist/chunks/dist-IXJRJ27U.js +0 -2
- package/dist/chunks/host-VRKDAN26.js +0 -2
- package/dist/types-chunks/public-api.d-BvCp5VkW.d.ts +0 -601
- package/dist/types-chunks/sdk-session-wGpa7X_U.d.ts +0 -796
package/dist/sdk-agent.d.ts
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { A as ASK_USER_BACK_SIGNAL, a as ASK_USER_CUSTOM_INPUT_SIGNAL, b as AdmissionAuditOptions, c as AdmissionCtx, d as AdmissionVerdict, e as AdmittedHandle, g as AgentArtifactPolicy,
|
|
3
|
-
import { M as
|
|
4
|
-
export { C as CompactionContext, a as CompactionEntry, b as CompactionEntryPayload, c as CompactionPolicy, d as CreateWorkflowCapsuleInput, D as DefaultSummaryCompaction, e as DefaultSummaryCompactionOptions, K as KODAX_API_MIN_INTERVAL, f as KODAX_DEFAULT_TIMEOUT, g as KODAX_HARD_TIMEOUT, h as KODAX_MAX_INCOMPLETE_RETRIES, i as KODAX_MAX_MAXTOKENS_RETRIES, j as KODAX_MAX_RETRIES, k as KODAX_MAX_TOKENS, l as KODAX_RETRY_BASE_DELAY, m as KODAX_STAGGER_DELAY, L as LINEAGE_ENTRY_TYPES, n as LineageArtifactLedgerPayload, o as LineageCompaction, p as LineageCompactionDelegates, q as LineageEntryType, r as LineageExtension, s as LineageLabelPayload, t as LineageTreeNode, P as PROMISE_PATTERN, u as PolicyCompactionResult, W as WORKFLOW_CAPSULE_API_VERSION, v as WORKFLOW_CAPSULE_FORMAT, w as WORKFLOW_CAPSULE_VERSION, x as WORKFLOW_PATTERN_IDS, y as WorkflowCapsule, z as WorkflowCapsuleEnvironmentRequirement, A as WorkflowCapsuleInputs, B as WorkflowCapsuleIntent, E as WorkflowCapsuleProvenance, F as WorkflowCapsuleRequirements, G as WorkflowPatternId, H as WorkflowQualityLintFinding, I as WorkflowQualityLintOptions, J as WorkflowQualityLintSeverity, _ as
|
|
5
|
-
export { G as GuardrailBlockedError, a as GuardrailContext, b as GuardrailEscalateError, c as GuardrailVerdict, I as InputGuardrail, O as OutputGuardrail, T as ToolBeforeOutcome, d as ToolGuardrail, e as collectGuardrails, r as runInputGuardrails, f as runOutputGuardrails, g as runToolAfterGuardrails, h as runToolBeforeGuardrails } from './types-chunks/guardrail.d-
|
|
6
|
-
import {
|
|
7
|
-
export { K as KodaXAssuranceIntent, c as KodaXContentBlock, f as KodaXExecutionMode, g as KodaXExecutionPattern, m as KodaXMutationSurface, q as KodaXProviderConfig, y as KodaXProviderStreamOptions, B as KodaXReasoningCapability, F as KodaXReasoningMode, H as KodaXReasoningRequest, I as KodaXRedactedThinkingBlock, L as KodaXRiskLevel, N as KodaXStreamResult, O as KodaXTaskActionability, P as KodaXTaskBudgetOverrides, Q as KodaXTaskComplexity, R as KodaXTaskFamily, U as KodaXTaskRoutingDecision, V as KodaXTaskType, W as KodaXTaskWorkIntent, X as KodaXTextBlock, Y as KodaXThinkingBlock, Z as KodaXThinkingBudgetMap, _ as KodaXThinkingDepth, a0 as KodaXTokenUsage, a2 as KodaXToolResultBlock } from './types-chunks/types.d-Cqaw71Ax.js';
|
|
1
|
+
import { dj as Span, dC as Trace, f as Agent, bc as Handoff, d5 as RunnerToolCall, d8 as RunnerToolResult, a8 as AgentMessage, a7 as AgentManifest, c7 as ManifestPatch, bg as InvariantId, cT as QualityInvariant, bw as KodaXInputArtifactSource, bu as KodaXImageMediaType, c3 as KodaXVideoMediaType, bp as KodaXFileInputArtifact, bt as KodaXImageInputArtifact, c2 as KodaXVideoInputArtifact, bv as KodaXInputArtifact, aX as DiscoveredInstance, dh as SessionMeta, di as SessionStateSnapshot, dr as StateWriterFs, bf as InstanceDiscoveryFs, dq as StateWriter, dt as StopHookContext, dv as StopHookResult, du as StopHookFn, ci as MemoryContextIdentity, cr as MemoryItemRef, bL as KodaXSessionLineage, bC as KodaXSessionArtifactLedgerEntry, cn as MemoryEvent, cJ as MemoryReviewRunner, cj as MemoryController, c8 as MemoryActionProposal, cb as MemoryApplyResult, cB as MemoryRejectResult, cz as MemoryRefFilter, cg as MemoryBodySnapshot, ct as MemoryLifecycleOperationResult, ck as MemoryCuratorInput, cq as MemoryGovernanceReport, ce as MemoryAutoCuratorInput, cf as MemoryAutoCuratorResult, cw as MemoryPackInput, cu as MemoryPack, cE as MemoryReviewInput, cI as MemoryReviewPlan, bz as KodaXMemoryOutcomeDigest, cm as MemoryEpisodeReviewResult, c9 as MemoryApplicability, br as KodaXGoalState, bq as KodaXGoalEventType, bH as KodaXSessionEntry, bJ as KodaXSessionGoalEntry, aP as CompactionDetails, aO as CompactionConfig, aQ as CompactionResult, bn as KodaXExtensionStore, bo as KodaXExtensionStoreEntry, bx as KodaXJsonValue, eh as WorkflowRunState, dX as WorkflowOutcome, dI as WorkflowApi, dW as WorkflowModule, dH as WorkflowAgentBackend, dS as WorkflowLimits, dN as WorkflowEvent, dT as WorkflowLogEvent, en as WorkflowTaskResult, W as AgentExecutorPlaneStore, aT as CreateAgentExecutorPlaneOptions, S as AgentExecutorPlane, b4 as ExternalAgentProtocol, Q as AgentExecutorFactory, u as AgentCapabilities, aC as AgentTurnExecutor, M as AgentExecutionKind, t as AgentBudgetPort, k as AgentActorStore, J as AgentEvent, a6 as AgentMailboxMessage, h as AgentActorClient, N as AgentExecutionResult, an as AgentSpawnInput, aD as AgentTurnRef, z as AgentDataClassification, a9 as AgentMetadataValue, ab as AgentMutationOptions, $ as AgentFollowupResult, a1 as AgentInterruptScope, aA as AgentTreeSnapshot, B as AgentDetail, ac as AgentOutput, s as AgentBudgetExhausted, a4 as AgentLimitReached } from './types-chunks/types.d-DH1mvdcl.js';
|
|
2
|
+
export { A as ASK_USER_BACK_SIGNAL, a as ASK_USER_CUSTOM_INPUT_SIGNAL, b as AdmissionAuditOptions, c as AdmissionCtx, d as AdmissionVerdict, e as AdmittedHandle, g as AgentActor, i as AgentActorSnapshot, j as AgentActorState, l as AgentArtifactDescriptor, m as AgentArtifactPolicy, n as AgentArtifactPolicyDecision, o as AgentArtifactPolicyInput, p as AgentArtifactReference, q as AgentBudgetAdmission, r as AgentBudgetAdmissionInput, v as AgentCapabilityDeclaration, w as AgentCapabilityRequirements, x as AgentContinuationInput, y as AgentCredentialBroker, C as AgentDispatchContext, D as AgentDispatchPolicy, E as AgentDispatchPolicyDecision, F as AgentDispatchPolicyInput, G as AgentDispatchabilitySnapshot, H as AgentDispatchabilityStatus, I as AgentEffectDeclaration, K as AgentEventKind, L as AgentExecutionInput, O as AgentExecutor, P as AgentExecutorEvent, R as AgentExecutorFactoryContext, T as AgentExecutorPlaneBackgroundErrorContext, U as AgentExecutorPlaneBackgroundErrorHandler, V as AgentExecutorPlaneBinding, X as AgentExecutorPreflightResult, Y as AgentExecutorProtocol, Z as AgentExecutorTaskReference, _ as AgentExecutorTaskSnapshot, a0 as AgentForkTurns, a2 as AgentJsonObject, a3 as AgentJsonValue, a5 as AgentListEntry, aa as AgentMiddlewareDeclaration, ad as AgentPreflightInput, ae as AgentPreflightResult, af as AgentProgressItem, ag as AgentProgressKind, ah as AgentProgressUpdate, ai as AgentReasoningProfile, aj as AgentRegistrationEnabledMutationOptions, ak as AgentRegistrationMutationOptions, al as AgentRegistrationService, am as AgentSpanData, ao as AgentTaskCancellation, ap as AgentTaskCorrelation, aq as AgentTaskEvent, ar as AgentTaskFilter, as as AgentTaskProgress, at as AgentTaskRegistrationSnapshot, au as AgentTaskService, av as AgentTaskSnapshot, aw as AgentTaskStartInput, ax as AgentTaskState, ay as AgentTaskUsage, az as AgentTool, aB as AgentTurn, aE as AgentTurnState, aF as AgentTurnSummary, aG as AskUserAnswer, aH as AskUserCustomInputAnswer, aI as AskUserMultiOptions, aJ as AskUserQuestionItem, aK as AskUserQuestionOptions, aL as AskUserSelectionAnswer, aM as CapabilitySupport, aN as CompactionAnchor, aR as CompactionSpanData, aS as CompactionUpdate, aU as CurrentTodoSummary, aV as DEFAULT_SYSTEM_CAP, aW as Deliverable, aY as DiscoveryOptions, aZ as DispatchableAgentDescriptor, a_ as DispatchableAgentListing, a$ as DispatchableAgentOrigin, b0 as DispatchableAgentQuery, b1 as EvidenceSpanData, b2 as ExternalAgentEffectDeclaration, b3 as ExternalAgentHealth, b5 as ExternalAgentRegistration, b6 as ExternalAgentRegistrationSummary, b7 as FanoutSpanData, b8 as FileOperations, b9 as GenerationSpanData, ba as Guardrail, bb as GuardrailSpanData, bd as HandoffSpanData, be as InMemorySessionOptions, bh as InvariantResult, bi as InvariantSession, bj as KodaXCompactMemoryProgress, bk as KodaXCompactMemorySeed, bl as KodaXExtensionSessionRecord, bm as KodaXExtensionSessionState, bs as KodaXGoalStatus, by as KodaXMemoryInfluenceRef, bA as KodaXMemoryOutcomeEvidence, bB as KodaXSessionArchiveMarkerEntry, bD as KodaXSessionBranchSummaryEntry, bE as KodaXSessionClientNoticeEntry, bF as KodaXSessionCompactionEntry, bG as KodaXSessionData, bI as KodaXSessionEntryBase, bK as KodaXSessionLabelEntry, bM as KodaXSessionMemoryOutcomeDigestEntry, bN as KodaXSessionMemoryReviewReceiptEntry, bO as KodaXSessionMessageEntry, bP as KodaXSessionMeta, bQ as KodaXSessionNavigationOptions, bR as KodaXSessionRewindMarkerEntry, bS as KodaXSessionRuntimeInfo, bT as KodaXSessionScope, bU as KodaXSessionStorage, bV as KodaXSessionTreeNode, bW as KodaXSessionUiHistoryItem, bX as KodaXSessionUiHistoryItemType, bY as KodaXSessionUiTextHistoryItem, bZ as KodaXSessionUiTextHistoryItemType, b_ as KodaXSessionUiToolCall, b$ as KodaXSessionUiToolCallStatus, c0 as KodaXSessionUiToolGroupHistoryItem, c1 as KodaXSessionWorkspaceKind, c4 as LocalAgentTaskInput, c5 as LocalAgentTaskUpdate, c6 as MAX_TOOL_LOOP_ITERATIONS, ca as MemoryApplyPreview, cc as MemoryApproval, cd as MemoryAuthority, ch as MemoryClaimKind, cl as MemoryDecisionTraceReceipt, co as MemoryGovernanceFinding, cp as MemoryGovernanceFindingKind, cs as MemoryLifecycle, cv as MemoryPackHint, cx as MemoryPackTraceMetadata, cy as MemoryProposalAction, cA as MemoryRefKind, cC as MemoryReviewCandidateRef, cD as MemoryReviewDraftAction, cF as MemoryReviewModelInput, cG as MemoryReviewPersistenceDecision, cH as MemoryReviewPersistenceKind, cK as MemoryReviewTrigger, cL as MemoryScope, cM as MemorySourceAdapter, cN as MemoryVisibility, cO as MessageEntry, cP as ObserveCtx, cQ as PersistedSessionState, cR as PresetDispatcher, cS as PresetTracingContext, cU as ReadonlyMutationTracker, cV as ReadonlyRecorder, cW as ReasoningDepth, cX as RecentlyModifiedFile, cY as RunEvent, cZ as RunOptions, c_ as RunResult, c$ as RunnableTool, d0 as Runner, d1 as RunnerEvent, d2 as RunnerLlmResult, d3 as RunnerLlmReturn, d4 as RunnerRecoveryTranscriptCarrier, d6 as RunnerToolContext, d7 as RunnerToolObserver, d9 as RunnerToolResultBatch, da as RunnerToolResultBatchTransform, db as Session, dc as SessionDispatchResult, dd as SessionEntry, de as SessionErrorMetadata, df as SessionExtension, dg as SessionForkOptions, dk as SpanData, dl as SpanError, dm as SpanImpl, dn as SpanImplOptions, dp as StartTraceOptions, ds as StateWriterOptions, dw as StopHookSpanData, dx as SystemCap, dy as TerminalCtx, dz as ToolCallSpanData, dA as ToolCapability, dB as ToolPermission, dD as TraceOptions, dE as Tracer, dF as TracerOptions, dG as UserInteraction, dJ as WorkflowApproval, dK as WorkflowApprovalSummary, dL as WorkflowArtifactRef, dM as WorkflowBudget, dO as WorkflowEventCorrelation, dP as WorkflowEventRecorder, dQ as WorkflowEventType, dR as WorkflowIsolation, dU as WorkflowMeta, dV as WorkflowModelHint, dY as WorkflowOutcomeError, dZ as WorkflowOutcomeResult, d_ as WorkflowOutcomeStatus, d$ as WorkflowOutcomeUsage, e0 as WorkflowParallelOptions, e1 as WorkflowProcessArtifact, e2 as WorkflowProcessCounts, e3 as WorkflowProcessEvent, e4 as WorkflowProcessItem, e5 as WorkflowProcessItemKind, e6 as WorkflowProcessItemOrigin, e7 as WorkflowProcessItemStatus, e8 as WorkflowProcessProgress, e9 as WorkflowProcessSnapshot, ea as WorkflowProcessSource, eb as WorkflowProcessStatus, ec as WorkflowProcessSummaryStatus, ed as WorkflowProcessTokenUsage, ee as WorkflowProcessTracker, ef as WorkflowProcessTrackerOptions, eg as WorkflowRun, ei as WorkflowRunStatus, ej as WorkflowSpawnAgentInput, ek as WorkflowSynthesis, el as WorkflowSynthesizeInput, em as WorkflowTaskHandle, eo as WorkflowTaskSnapshot, ep as WorkflowTaskStatus, eq as WorkflowTaskSummaryEventUpdate, er as WorkflowTaskSummaryKind, es as WorkflowTaskSummaryUpdate, et as WorkflowTaskUsage, eu as WorkflowTaskVerification, ev as WorkflowTaskVerificationResult, ew as WorkflowWaitOptions, ex as _resetAdmittedAgentBindings, ey as _resetPresetDispatchers, ez as asSingleSelection, eA as attachRunnerRecoveryTranscript, eB as buildAssistantMessageFromLlmResult, eC as buildSystemPrompt, eD as buildToolResultMessage, eE as createAgent, eF as createHandoff, eG as createInMemorySession, eH as createInvariantSessionForAgent, eI as createStateWriter, eJ as createTrace, eK as createWorkflowProcessTracker, eL as defaultTracer, eM as detectInstructionsInjection, eN as discoverInstances, eO as executeRunnerToolCall, eP as extractAssistantTextFromMessage, eQ as getActiveUserInteraction, eR as getAdmittedAgentBindings, eS as hashMemoryIdentityComponent, eT as isAskUserCustomInputAnswer, eU as isFinalWorkflowProcessStatus, eV as isRunnableTool, eW as isRunnerLlmResult, eX as matchesMemoryApplicability, eY as memoryApplicabilityFingerprint, eZ as normalizeHostMetadata, e_ as readRunnerRecoveryTranscript, e$ as registerPresetDispatcher, f0 as runAdmissionAudit, f1 as setActiveUserInteraction, f2 as setAdmittedAgentBindings } from './types-chunks/types.d-DH1mvdcl.js';
|
|
3
|
+
import { M as WorkflowScriptManifest } from './types-chunks/capsule.d-DxtdE-GD.js';
|
|
4
|
+
export { C as CompactionContext, a as CompactionEntry, b as CompactionEntryPayload, c as CompactionPolicy, d as CreateWorkflowCapsuleInput, D as DefaultSummaryCompaction, e as DefaultSummaryCompactionOptions, K as KODAX_API_MIN_INTERVAL, f as KODAX_DEFAULT_TIMEOUT, g as KODAX_HARD_TIMEOUT, h as KODAX_MAX_INCOMPLETE_RETRIES, i as KODAX_MAX_MAXTOKENS_RETRIES, j as KODAX_MAX_RETRIES, k as KODAX_MAX_TOKENS, l as KODAX_RETRY_BASE_DELAY, m as KODAX_STAGGER_DELAY, L as LINEAGE_ENTRY_TYPES, n as LineageArtifactLedgerPayload, o as LineageCompaction, p as LineageCompactionDelegates, q as LineageEntryType, r as LineageExtension, s as LineageLabelPayload, t as LineageTreeNode, P as PROMISE_PATTERN, u as PolicyCompactionResult, W as WORKFLOW_CAPSULE_API_VERSION, v as WORKFLOW_CAPSULE_FORMAT, w as WORKFLOW_CAPSULE_VERSION, x as WORKFLOW_PATTERN_IDS, y as WorkflowCapsule, z as WorkflowCapsuleEnvironmentRequirement, A as WorkflowCapsuleInputs, B as WorkflowCapsuleIntent, E as WorkflowCapsuleProvenance, F as WorkflowCapsuleRequirements, G as WorkflowPatternId, H as WorkflowQualityLintFinding, I as WorkflowQualityLintOptions, J as WorkflowQualityLintSeverity, _ as _resetActiveRootQueueRoutesForTests, N as actorQueueId, O as appendSessionLineageLabel, Q as applyLineageTruncation, R as applySessionCompaction, S as archiveOldIslands, T as assertRestrictedWorkflowQuality, U as buildSessionTree, V as buildWorkflowCapsuleIntent, X as cleanupIncompleteToolCalls, Y as countActiveLineageMessages, Z as countTokens, $ as createSessionLineage, a0 as createWorkflowCapsule, a1 as createWorkflowModuleFromCapsule, a2 as estimateTokens, a3 as extractArtifactLedger, a4 as extractFileOps, a5 as extractTitleFromMessages, a6 as findPreviousUserEntryId, a7 as forkSessionLineage, a8 as generateSessionId, a9 as getAgentConfigHome, aa as getAgentConfigPath, ab as getAppDataDir, ac as getSessionLineagePath, ad as getSessionMessagesFromLineage, ae as isPathInsideDirectory, af as lintRestrictedWorkflowSource, ag as mergeArtifactLedger, ah as mergeFileOps, ai as registerActiveRootQueueRoute, aj as resolveActiveRootQueueRoute, ak as resolveExecutionPath, al as resolveSessionLineageTarget, am as rewindSessionLineage, an as setAgentConfigHome, ao as setSessionLineageActiveEntry, ap as validateAndFixToolHistory, aq as validateWorkflowCapsule, ar as validateWorkflowScriptManifest } from './types-chunks/capsule.d-DxtdE-GD.js';
|
|
5
|
+
export { G as GuardrailBlockedError, a as GuardrailContext, b as GuardrailEscalateError, c as GuardrailVerdict, I as InputGuardrail, O as OutputGuardrail, T as ToolBeforeOutcome, d as ToolGuardrail, e as collectGuardrails, r as runInputGuardrails, f as runOutputGuardrails, g as runToolAfterGuardrails, h as runToolBeforeGuardrails } from './types-chunks/guardrail.d-DlpMnd-Y.js';
|
|
6
|
+
import { i as KodaXImageBlock, k as KodaXMessage, a1 as KodaXToolDefinition, a6 as KodaXToolUseBlock } from './types-chunks/types.d-Cqaw71Ax.js';
|
|
7
|
+
export { K as KodaXAssuranceIntent, c as KodaXContentBlock, f as KodaXExecutionMode, g as KodaXExecutionPattern, m as KodaXMutationSurface, q as KodaXProviderConfig, y as KodaXProviderStreamOptions, B as KodaXReasoningCapability, F as KodaXReasoningMode, H as KodaXReasoningRequest, I as KodaXRedactedThinkingBlock, L as KodaXRiskLevel, N as KodaXStreamResult, O as KodaXTaskActionability, P as KodaXTaskBudgetOverrides, Q as KodaXTaskComplexity, R as KodaXTaskFamily, S as KodaXTaskResultMetadata, T as KodaXTaskResultSource, U as KodaXTaskRoutingDecision, V as KodaXTaskType, W as KodaXTaskWorkIntent, X as KodaXTextBlock, Y as KodaXThinkingBlock, Z as KodaXThinkingBudgetMap, _ as KodaXThinkingDepth, a0 as KodaXTokenUsage, a2 as KodaXToolResultBlock } from './types-chunks/types.d-Cqaw71Ax.js';
|
|
8
8
|
import { C as CapabilityCache, b as CapabilityCacheSource } from './types-chunks/capability-learning.d-_lR0J4iR.js';
|
|
9
9
|
export { a as CapabilityCacheEntry } from './types-chunks/capability-learning.d-_lR0J4iR.js';
|
|
10
10
|
export { C as CapabilityKind, a as CapabilityProvider, b as CapabilityResult, c as CapabilitySearchFailure, d as CapabilitySearchFreshness, e as CapabilitySearchOptions, f as CapabilitySearchSnapshot } from './types-chunks/capability.d-K664nHOS.js';
|
|
11
11
|
import { ChildProcess } from 'node:child_process';
|
|
12
|
-
import { c as QueuedMessage,
|
|
13
|
-
export {
|
|
12
|
+
import { Q as QueueEventListener, c as QueuedMessage, E as EnqueueInput, D as DequeueFilter, a as MessagePriority, b as QueuedInputArtifact } from './types-chunks/types.d-CNZgY52F.js';
|
|
13
|
+
export { M as MessageMode } from './types-chunks/types.d-CNZgY52F.js';
|
|
14
14
|
import { K as KodaXBaseProvider } from './types-chunks/base.d-Cz_rwpOi.js';
|
|
15
|
-
import {
|
|
16
|
-
export { I as ISkillRegistry, a as IVariableResolver, S as Skill, b as SkillArtifact, c as SkillContext, d as SkillDynamicContextExecutor, e as SkillFile, f as SkillFrontmatter, g as SkillHook, h as SkillHooks, i as SkillMetadata, j as SkillPathsConfig, k as SkillResult, m as getDefaultSkillPaths, n as getSkillPathsFlat } from './types-chunks/types.d-
|
|
15
|
+
import { R as ResolvedSkillSource } from './types-chunks/types.d-DCQVBqVn.js';
|
|
16
|
+
export { I as ISkillRegistry, a as IVariableResolver, S as Skill, b as SkillArtifact, c as SkillContext, d as SkillDynamicContextExecutor, e as SkillFile, f as SkillFrontmatter, g as SkillHook, h as SkillHooks, i as SkillMetadata, j as SkillPathsConfig, k as SkillResult, l as SkillSource, m as getDefaultSkillPaths, n as getSkillPathsFlat } from './types-chunks/types.d-DCQVBqVn.js';
|
|
17
|
+
import { e as LearningActionDriver, n as LearningQuery, m as LearningPage, b as LearnedCapabilityRecord, p as LearningSurfaceSnapshot, j as LearningEvent, o as LearningSubscribeOptions, i as LearningClientRecord } from './types-chunks/center-types.d-BBT122uJ.js';
|
|
18
|
+
export { L as LearnedCapabilityCarrier, a as LearnedCapabilityLifecycle, c as LearnedCapabilitySource, d as LearningAction, f as LearningCapabilityError, g as LearningCapabilityErrorCode, h as LearningClientEventState, k as LearningEventKind, l as LearningNotificationState, q as assertLearnedCapabilityTransition, r as canTransitionLearnedCapability, s as learningEventIdFor, t as learningEventKindForLifecycle, u as slugifyLearnedCapabilityName } from './types-chunks/center-types.d-BBT122uJ.js';
|
|
17
19
|
export { M as McpConnectMode, a as McpServerConfig, b as McpServersConfig, c as McpTransportKind } from './types-chunks/config.d-CJy1WENT.js';
|
|
18
20
|
export { M as McpCapabilityDescriptor, a as McpCapabilityKind, b as McpCapabilityProvider, c as McpCapabilityRisk, d as McpCatalogItem, e as McpDiscoveryCatalog, f as McpElicitRequest, g as McpElicitResult, h as McpIcon, i as McpManager, j as McpProviderOptions, k as McpReverseCapabilities, l as McpRoot, m as McpSamplingRequest, n as McpSamplingResult, o as McpServerCatalog, p as McpServerCatalogSnapshot, q as McpServerLogs, r as McpServerRuntime, s as McpServerRuntimeDiagnostics, t as McpServerStatus, u as McpServerToolList, v as McpToolTaskSupport, w as buildInitializeCapabilities, x as createMcpCapabilityId, y as createMcpManager, z as defaultMcpCacheDir, A as getMcpCachePaths, B as normalizeMcpCapabilityId, C as parseMcpCapabilityId, D as searchMcpCatalog } from './types-chunks/manager.d-B67TmPO1.js';
|
|
19
21
|
export { A as AuthorizationServerMetadata, D as DiscoveredOAuthEndpoints, M as McpAuthRequiredError, a as McpExpiredSessionError, b as McpTransport, c as McpTransportEvents, O as OAuthClientInfo, d as OAuthLoginConsent, P as PerformOAuthLoginOptions, e as ProtectedResourceMetadata, W as WwwAuthenticateChallenge, f as createMcpTransport, g as discoverAuthorizationServerMetadata, h as discoverOAuthEndpoints, i as discoverProtectedResourceMetadata, j as extractInsufficientScope, k as extractResourceMetadataUrl, l as loadValidToken, p as performOAuthLogin, r as registerOAuthClient } from './types-chunks/oauth-login.d-Bgb4rdLN.js';
|
|
20
22
|
export { createMcpTestServerFixture } from './sdk-mcp.js';
|
|
21
23
|
export { DiscoveryResult, ExecutionMode, ExecutionOptions, SkillExecutor, SkillExpansionResult, SkillRegistry, VariableResolver, clearPluginSkillPaths, createExecutor, createResolver, discoverSkills, discoverSkillsWithMonorepo, executeSkill, expandSkillForLLM, formatSkillActivationMessage, getNestedSkillPaths, getSkillRegistry, initializeSkillRegistry, listPluginSkillPaths, loadFullSkill, loadSkillFileContent, loadSkillMetadata, parseArguments, parseSkillMarkdown, registerPluginSkillPath, resetSkillRegistry, resolveSkillContent, unregisterPluginSkillPath } from './sdk-skills.js';
|
|
22
|
-
export { M as ManagedRunClassification, a as ManagedRunHooks, b as ManagedWorkflowRun, c as ManagedWorkflowSnapshot, d as ManagedWorkflowStatus, S as StartManagedRunInput, W as WorkflowProcessMetadata, e as WorkflowRunManager, f as createWorkflowRunManager, g as getDefaultWorkflowRunManager } from './types-chunks/run-manager.d-
|
|
24
|
+
export { M as ManagedRunClassification, a as ManagedRunHooks, b as ManagedWorkflowRun, c as ManagedWorkflowSnapshot, d as ManagedWorkflowStatus, S as StartManagedRunInput, W as WorkflowProcessMetadata, e as WorkflowRunManager, f as createWorkflowRunManager, g as getDefaultWorkflowRunManager } from './types-chunks/run-manager.d-Bh50OdVl.js';
|
|
23
25
|
|
|
24
26
|
declare const CONTEXT_SAFETY_FLOOR_TOKENS = 2048;
|
|
25
27
|
declare const CONTEXT_SAFETY_RATIO = 0.03;
|
|
@@ -591,6 +593,98 @@ interface CleanupOptions {
|
|
|
591
593
|
declare function registerManagedChildProcess(child: ChildProcess, metadata: ManagedChildProcessMetadata, options?: ManagedChildRegistrationOptions): () => void;
|
|
592
594
|
declare function cleanupRegisteredManagedChildren(options?: CleanupOptions): Promise<ManagedChildCleanupSummary>;
|
|
593
595
|
|
|
596
|
+
/**
|
|
597
|
+
* @kodax-ai/agent/messaging/queue — 2-tier agentId-scoped FIFO message queue.
|
|
598
|
+
*
|
|
599
|
+
* FEATURE_115 (v0.7.36).
|
|
600
|
+
*
|
|
601
|
+
* Invariants:
|
|
602
|
+
* - In-priority FIFO: messages of the same priority drain in enqueue order.
|
|
603
|
+
* - Cross-priority precedence: 'user' drains before 'background', regardless
|
|
604
|
+
* of enqueue order.
|
|
605
|
+
* - agentId routing: messages addressed to agentId X are only visible to
|
|
606
|
+
* consumers filtering for that exact agentId. undefined ≠ "any agent" —
|
|
607
|
+
* it specifically matches main-thread messages.
|
|
608
|
+
* - Not persistent: process restart loses queue state, by design (matches
|
|
609
|
+
* TodoStore semantics).
|
|
610
|
+
*
|
|
611
|
+
* The queue is process-global by default (`getMessageQueue()`); the class is
|
|
612
|
+
* also exported for tests / isolated downstream use.
|
|
613
|
+
*/
|
|
614
|
+
|
|
615
|
+
declare class MessageQueue {
|
|
616
|
+
private messages;
|
|
617
|
+
private nextSeq;
|
|
618
|
+
/**
|
|
619
|
+
* FEATURE_159 (v0.7.40) — observable subscription set. Same pattern as
|
|
620
|
+
* Claude Code's `messageQueueManager.ts` `createSignal()` substrate,
|
|
621
|
+
* but the listener carries a structured `QueueEvent` so SDK
|
|
622
|
+
* observability consumers (logger, tracer, metrics) can react per-
|
|
623
|
+
* event without re-diffing snapshots. `useSyncExternalStore` consumers
|
|
624
|
+
* still work — they ignore the event argument.
|
|
625
|
+
*
|
|
626
|
+
* Cached `snapshotRef` keeps reference identity stable across reads
|
|
627
|
+
* when nothing changed — required by React 18's `useSyncExternalStore`
|
|
628
|
+
* to avoid render loops.
|
|
629
|
+
*/
|
|
630
|
+
private listeners;
|
|
631
|
+
private snapshotRef;
|
|
632
|
+
private notify;
|
|
633
|
+
/**
|
|
634
|
+
* Subscribe to queue mutations. Compatible with React 18's
|
|
635
|
+
* `useSyncExternalStore(subscribe, getSnapshot)` — the hook passes a
|
|
636
|
+
* `() => void` callback, which is structurally assignable to the
|
|
637
|
+
* `QueueEventListener` parameter because TypeScript treats
|
|
638
|
+
* callback parameter discards as compatible. SDK consumers that
|
|
639
|
+
* declare a typed `(event: QueueEvent) => void` listener see the
|
|
640
|
+
* structured event.
|
|
641
|
+
*
|
|
642
|
+
* Listener is called synchronously after every mutation; returns an
|
|
643
|
+
* unsubscribe function.
|
|
644
|
+
*/
|
|
645
|
+
subscribe: (listener: QueueEventListener) => (() => void);
|
|
646
|
+
/**
|
|
647
|
+
* Returns the current frozen queue snapshot. Reference identity is
|
|
648
|
+
* stable across reads when the queue has not mutated, which is the
|
|
649
|
+
* contract React's `useSyncExternalStore` relies on.
|
|
650
|
+
*/
|
|
651
|
+
getSnapshot: () => readonly QueuedMessage[];
|
|
652
|
+
/** Returns the assigned id of the enqueued message. */
|
|
653
|
+
enqueue(input: EnqueueInput): string;
|
|
654
|
+
/**
|
|
655
|
+
* Drain matching messages, ordered by priority (user > background) then
|
|
656
|
+
* FIFO within each priority. Removes drained messages from the queue.
|
|
657
|
+
*/
|
|
658
|
+
dequeue(filter: DequeueFilter): QueuedMessage[];
|
|
659
|
+
/**
|
|
660
|
+
* Peek at matching messages without removing them. Returns messages in
|
|
661
|
+
* the same priority + FIFO order that `dequeue(filter)` would return,
|
|
662
|
+
* so callers can inspect what the next drain would yield.
|
|
663
|
+
*/
|
|
664
|
+
peek(filter: DequeueFilter): QueuedMessage[];
|
|
665
|
+
/** Total queue size across all priorities / agents. */
|
|
666
|
+
size(): number;
|
|
667
|
+
/** Count of messages matching the filter. */
|
|
668
|
+
count(filter: DequeueFilter): number;
|
|
669
|
+
/** True iff at least one message matches the filter. */
|
|
670
|
+
has(filter: DequeueFilter): boolean;
|
|
671
|
+
/** Remove all queued messages — used in tests / process abort scenarios. */
|
|
672
|
+
clear(): void;
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* Returns the process-global MessageQueue singleton, creating it lazily on
|
|
676
|
+
* first call. Use this for production wiring; instantiate `MessageQueue`
|
|
677
|
+
* directly in tests / isolated subsystems where a shared instance would
|
|
678
|
+
* cause cross-test pollution.
|
|
679
|
+
*/
|
|
680
|
+
declare function getMessageQueue(): MessageQueue;
|
|
681
|
+
/**
|
|
682
|
+
* Test-only reset hook. Production code MUST NOT call this. Underscored
|
|
683
|
+
* prefix follows the same convention as `_resetInvariantRegistry` /
|
|
684
|
+
* `_resetAdmittedAgentBindings` / `_resetAdmissionMetrics`.
|
|
685
|
+
*/
|
|
686
|
+
declare function _resetMessageQueueForTests(): void;
|
|
687
|
+
|
|
594
688
|
/**
|
|
595
689
|
* @kodax-ai/agent/messaging/drain — mid-turn drain decision (FEATURE_115).
|
|
596
690
|
*
|
|
@@ -647,38 +741,6 @@ declare function midTurnDrainPriority(lastTurnToolNames: readonly string[]): Mes
|
|
|
647
741
|
* messages in `dequeue` order (priority-first FIFO).
|
|
648
742
|
*/
|
|
649
743
|
declare function maybeDrainMidTurn(input: MaybeDrainMidTurnInput): QueuedMessage[];
|
|
650
|
-
interface EnqueueChildTaskNotificationInput {
|
|
651
|
-
/**
|
|
652
|
-
* agentId of the parent / coordinator that should receive the
|
|
653
|
-
* notification. `undefined` targets the main thread.
|
|
654
|
-
*/
|
|
655
|
-
readonly parentAgentId?: string;
|
|
656
|
-
/** Stable identifier of the completed child task (e.g. `child-...`). */
|
|
657
|
-
readonly taskId: string;
|
|
658
|
-
/** Human-readable summary appended after the task id banner. */
|
|
659
|
-
readonly summary: string;
|
|
660
|
-
readonly source?: KodaXTaskResultSource;
|
|
661
|
-
readonly runId?: string;
|
|
662
|
-
readonly status?: KodaXTaskResultMetadata['status'];
|
|
663
|
-
readonly title?: string;
|
|
664
|
-
readonly artifactRefs?: readonly string[];
|
|
665
|
-
}
|
|
666
|
-
/**
|
|
667
|
-
* Enqueue a `task-notification` message destined for the parent / main
|
|
668
|
-
* thread when a backgrounded child task finishes (FEATURE_119 Pattern B).
|
|
669
|
-
*
|
|
670
|
-
* Goes in at `priority: 'background'`. Under FEATURE_155 idle-yield
|
|
671
|
-
* (v0.7.39+), the runner's outer loop drains background priority at
|
|
672
|
-
* the no-tool-calls exit (`waitForWakeEvent` →
|
|
673
|
-
* `composeIdleYieldUserMessage`), so the notification surfaces in
|
|
674
|
-
* the agent's next-turn user message as a `<task-completed
|
|
675
|
-
* task_id="…">…</task-completed>` block. Pre-v0.7.39 a `yield tool`
|
|
676
|
-
* (`await_child_task`) gated mid-turn drain to background priority —
|
|
677
|
-
* that path is gone with the tool.
|
|
678
|
-
*
|
|
679
|
-
* Returns the enqueued message id (matches `MessageQueue.enqueue` contract).
|
|
680
|
-
*/
|
|
681
|
-
declare function enqueueChildTaskNotification(input: EnqueueChildTaskNotificationInput): string;
|
|
682
744
|
|
|
683
745
|
type KodaXMediaErrorCode = 'CLIPBOARD_EMPTY' | 'CLIPBOARD_IMAGE_UNAVAILABLE' | 'UNSUPPORTED_PLATFORM' | 'IMAGE_DECODE_FAILED' | 'IMAGE_TOO_LARGE' | 'UNSUPPORTED_MEDIA_TYPE' | 'MODEL_INPUT_UNSUPPORTED' | 'FILE_ACCESS_DENIED';
|
|
684
746
|
interface KodaXMediaErrorOptions {
|
|
@@ -784,7 +846,10 @@ interface EnqueueWithArtifactsInput extends ValidateInputArtifactsOptions {
|
|
|
784
846
|
readonly content: string;
|
|
785
847
|
readonly inputArtifacts?: readonly KodaXInputArtifact[];
|
|
786
848
|
readonly priority?: MessagePriority;
|
|
849
|
+
/** Explicit low-level queue route. Mutually exclusive with sessionId. */
|
|
787
850
|
readonly agentId?: string;
|
|
851
|
+
/** Route to this Actor session's root queue. */
|
|
852
|
+
readonly sessionId?: string;
|
|
788
853
|
}
|
|
789
854
|
declare function enqueueWithArtifacts(input: EnqueueWithArtifactsInput): string;
|
|
790
855
|
|
|
@@ -799,28 +864,22 @@ declare function enqueueWithArtifacts(input: EnqueueWithArtifactsInput): string;
|
|
|
799
864
|
* outside KodaX's coding stack can reuse the same async fan-out
|
|
800
865
|
* wait-and-resume mechanic (ADR-021).
|
|
801
866
|
*
|
|
802
|
-
* The lifted module is **generic over the child-task result type**
|
|
803
|
-
* (`TChildResult`). Coding's `KodaXChildExecutionResult` shape stays in
|
|
804
|
-
* `@kodax-ai/coding`; only `taskId` + `error` are read here. The
|
|
805
|
-
* `result` field is opaque — `composeIdleYieldUserMessage` never
|
|
806
|
-
* inspects it (the fallback banner uses only `taskId` / error message).
|
|
807
|
-
*
|
|
808
867
|
* Replaces the blocking `await_child_task` semantics with a Claude-Code-
|
|
809
868
|
* style "agent turn ends idle, runner waits for the next external event"
|
|
810
|
-
* mechanism. When the agent has
|
|
811
|
-
* else to do, it outputs a brief status line (no tool calls), and
|
|
812
|
-
*
|
|
813
|
-
*
|
|
869
|
+
* mechanism. When the agent has active descendant Actor turns and nothing
|
|
870
|
+
* else to do, it outputs a brief status line (no tool calls), and Runner.run
|
|
871
|
+
* returns. Actor completion and user input both arrive through the bounded
|
|
872
|
+
* MessageQueue; this module interprets that exit and resumes from the first
|
|
873
|
+
* queued wake event:
|
|
814
874
|
*
|
|
815
875
|
* 1. `detectIdleYield(...)` — synchronous predicate over the run's exit
|
|
816
876
|
* state. Returns true when the agent turn ended without an
|
|
817
|
-
* `emit_handoff` AND there are still
|
|
877
|
+
* `emit_handoff` AND there are still descendant Actor turns the agent is
|
|
818
878
|
* expected to wait on. False on every other path so legacy
|
|
819
879
|
* semantics stay untouched.
|
|
820
880
|
*
|
|
821
|
-
* 2. `waitForWakeEvent(...)` — async
|
|
822
|
-
*
|
|
823
|
-
* runner layer knows what to splice into the next-turn context.
|
|
881
|
+
* 2. `waitForWakeEvent(...)` — async wait on the MessageQueue, which
|
|
882
|
+
* carries committed Actor completion envelopes and user input.
|
|
824
883
|
* Cooperative with `AbortSignal` so REPL Esc tears it down promptly.
|
|
825
884
|
*
|
|
826
885
|
* 3. `composeIdleYieldUserMessage(...)` — given a resolved
|
|
@@ -834,13 +893,11 @@ declare function enqueueWithArtifacts(input: EnqueueWithArtifactsInput): string;
|
|
|
834
893
|
* on terminal Evaluator verdict, NOT on legacy
|
|
835
894
|
* `managedProtocolPayloadRef.verdict`. The agent layer carries
|
|
836
895
|
* the boolean as a snapshot field; callers compute it.
|
|
837
|
-
* - Bug E / `hasPendingBackgroundMessages` field: fast-
|
|
838
|
-
*
|
|
839
|
-
*
|
|
896
|
+
* - Bug E / `hasPendingBackgroundMessages` field: fast-Actor recovery —
|
|
897
|
+
* keep the loop alive when either the Actor tree OR the queue still has
|
|
898
|
+
* undelivered work.
|
|
840
899
|
* - Bug F / abort listener cleanup: explicit
|
|
841
900
|
* `removeEventListener` in `settle()` even on non-abort wakes.
|
|
842
|
-
* - Bug A registry cleanup: NOT this module's responsibility — owned
|
|
843
|
-
* by `registerChildTask` in `task-registry.ts`.
|
|
844
901
|
*/
|
|
845
902
|
|
|
846
903
|
declare class QueuedInputArtifactError extends Error {
|
|
@@ -879,8 +936,8 @@ interface IdleYieldSnapshot {
|
|
|
879
936
|
*/
|
|
880
937
|
readonly lastAssistantToolCallCount: number;
|
|
881
938
|
/**
|
|
882
|
-
* Number of
|
|
883
|
-
*
|
|
939
|
+
* Number of active descendant Actor turns when Runner.run returned.
|
|
940
|
+
* The historical field name is retained for source compatibility. Idle-yield only
|
|
884
941
|
* fires when this is > 0 OR `hasPendingBackgroundMessages` is true
|
|
885
942
|
* — otherwise there's nothing to wait for and the stop is a real
|
|
886
943
|
* terminal event.
|
|
@@ -920,16 +977,12 @@ interface IdleYieldSnapshot {
|
|
|
920
977
|
readonly hasEmittedTerminalVerdict: boolean;
|
|
921
978
|
/**
|
|
922
979
|
* v0.7.38 FEATURE_155 Bug E hotfix — true if the background-priority
|
|
923
|
-
* message queue still has undelivered
|
|
980
|
+
* message queue still has undelivered envelopes destined for the
|
|
924
981
|
* caller agent. Set this alongside `pendingChildTaskCount` because
|
|
925
|
-
* of the **fast-
|
|
926
|
-
* notification
|
|
927
|
-
*
|
|
928
|
-
*
|
|
929
|
-
* iteration (e.g. a sub-second probe vs a multi-second LLM call),
|
|
930
|
-
* the registry entry is removed BEFORE the outer loop reads
|
|
931
|
-
* `pendingChildTaskCount` — making the snapshot see `0`, breaking
|
|
932
|
-
* the loop, and orphaning the banner in the background queue.
|
|
982
|
+
* of the **fast-Actor race**: a terminal Actor commit can enqueue its
|
|
983
|
+
* notification before the outer loop snapshots the tree. The active-turn
|
|
984
|
+
* count is then already zero even though the completion envelope still
|
|
985
|
+
* needs delivery.
|
|
933
986
|
* With this field, the loop stays in the wait state whenever
|
|
934
987
|
* there's still something to deliver, regardless of which arm
|
|
935
988
|
* (registry or queue) carries it.
|
|
@@ -960,36 +1013,16 @@ declare function detectIdleYield(snapshot: IdleYieldSnapshot): boolean;
|
|
|
960
1013
|
/**
|
|
961
1014
|
* Discriminated union surfacing the reason a wake completed.
|
|
962
1015
|
*
|
|
963
|
-
*
|
|
964
|
-
*
|
|
965
|
-
* wakes without the agent layer naming the type. This module only
|
|
966
|
-
* reads `taskId` (for the fallback banner) and `error` — `result` is
|
|
967
|
-
* opaque pass-through.
|
|
1016
|
+
* Actor completions and user input are both represented as queued messages;
|
|
1017
|
+
* cancellation remains a distinct event so callers can terminate promptly.
|
|
968
1018
|
*/
|
|
969
|
-
type WakeEvent
|
|
970
|
-
readonly kind: 'child-completed';
|
|
971
|
-
readonly taskId: string;
|
|
972
|
-
readonly result: TChildResult;
|
|
973
|
-
} | {
|
|
974
|
-
readonly kind: 'child-failed';
|
|
975
|
-
readonly taskId: string;
|
|
976
|
-
readonly error: Error;
|
|
977
|
-
} | {
|
|
1019
|
+
type WakeEvent = {
|
|
978
1020
|
readonly kind: 'messages-arrived';
|
|
979
1021
|
readonly messages: readonly QueuedMessage[];
|
|
980
1022
|
} | {
|
|
981
1023
|
readonly kind: 'aborted';
|
|
982
1024
|
};
|
|
983
|
-
interface WaitForWakeEventOptions
|
|
984
|
-
/**
|
|
985
|
-
* Live ChildTaskRegistry snapshot. The waiter wraps each entry's
|
|
986
|
-
* promise so the FIRST settling child wins the race.
|
|
987
|
-
*
|
|
988
|
-
* **NOTE**: the waiter does NOT delete entries on settlement — the
|
|
989
|
-
* registry's normal cleanup path (`registerChildTask`'s built-in
|
|
990
|
-
* `.finally` chain) owns deletion. Wrapping doesn't double-consume.
|
|
991
|
-
*/
|
|
992
|
-
readonly registry: ChildTaskRegistry<TChildResult>;
|
|
1025
|
+
interface WaitForWakeEventOptions {
|
|
993
1026
|
/** Process-global message queue surface (FEATURE_115 substrate). */
|
|
994
1027
|
readonly messageQueue: MessageQueue;
|
|
995
1028
|
/**
|
|
@@ -999,42 +1032,31 @@ interface WaitForWakeEventOptions<TChildResult = unknown> {
|
|
|
999
1032
|
readonly agentId: string | undefined;
|
|
1000
1033
|
/**
|
|
1001
1034
|
* Optional cancellation. When fired, the waiter resolves with
|
|
1002
|
-
* `{ kind: 'aborted' }` and tears down its
|
|
1035
|
+
* `{ kind: 'aborted' }` and tears down its subscriptions.
|
|
1003
1036
|
*/
|
|
1004
1037
|
readonly abortSignal?: AbortSignal;
|
|
1005
|
-
/**
|
|
1006
|
-
* Queue poll interval. The MessageQueue is poll-based; this is the
|
|
1007
|
-
* granularity at which user input becomes visible to the waiter.
|
|
1008
|
-
* 100 ms keeps perceived REPL responsiveness < 1 frame at 60 fps
|
|
1009
|
-
* for the human eye and stays well below typical LLM-call latency.
|
|
1010
|
-
* Tests can pass smaller values (e.g. 10 ms) to keep them fast.
|
|
1011
|
-
*/
|
|
1038
|
+
/** @deprecated Queue subscriptions now wake immediately. */
|
|
1012
1039
|
readonly pollIntervalMs?: number;
|
|
1013
1040
|
}
|
|
1014
1041
|
/**
|
|
1015
|
-
*
|
|
1016
|
-
*
|
|
1042
|
+
* Wait for MessageQueue arrivals or cancellation. Returns the first wake
|
|
1043
|
+
* event. Guarantees:
|
|
1017
1044
|
*
|
|
1018
|
-
* - Cleanup:
|
|
1019
|
-
* which arm wins.
|
|
1045
|
+
* - Cleanup: queue and abort subscriptions are removed on resolution.
|
|
1020
1046
|
* - At-most-once dequeue: when the queue arm wins, the messages it
|
|
1021
1047
|
* drained are returned to the caller AND removed from the queue
|
|
1022
1048
|
* (the caller is now responsible for splicing them into the
|
|
1023
1049
|
* agent's next-turn context).
|
|
1024
1050
|
* - Abort-safe: if `abortSignal` fires before any other event, the
|
|
1025
|
-
* waiter resolves with `{ kind: 'aborted' }`.
|
|
1026
|
-
*
|
|
1027
|
-
* them on the next turn.
|
|
1051
|
+
* waiter resolves with `{ kind: 'aborted' }`. Actor execution
|
|
1052
|
+
* cancellation remains owned by the Actor controller.
|
|
1028
1053
|
*
|
|
1029
1054
|
* Caller responsibilities:
|
|
1030
|
-
* -
|
|
1031
|
-
* dispatches the agent performs after wake are visible to the
|
|
1032
|
-
* next `waitForWakeEvent` call.
|
|
1033
|
-
* - Splice the returned messages / child result into the agent's
|
|
1055
|
+
* - Splice the returned messages into the agent's
|
|
1034
1056
|
* next Runner.run input. The waiter does not itself construct
|
|
1035
1057
|
* synthetic user-message bytes — that's the runner-layer's job.
|
|
1036
1058
|
*/
|
|
1037
|
-
declare function waitForWakeEvent
|
|
1059
|
+
declare function waitForWakeEvent(options: WaitForWakeEventOptions): Promise<WakeEvent>;
|
|
1038
1060
|
/**
|
|
1039
1061
|
* Compose the synthetic user message spliced after an agent idle-yield
|
|
1040
1062
|
* resume. The runner outer loop calls this with the resolved
|
|
@@ -1047,15 +1069,6 @@ declare function waitForWakeEvent<TChildResult = unknown>(options: WaitForWakeEv
|
|
|
1047
1069
|
* tight race with the dispatch handler's enqueue is possible) and
|
|
1048
1070
|
* concatenate.
|
|
1049
1071
|
*
|
|
1050
|
-
* - `child-completed` / `child-failed` wake: the dispatch handler's
|
|
1051
|
-
* in-IIFE `enqueueChildTaskNotification` is a precondition of the
|
|
1052
|
-
* promise settling, so the queue holds the canonical
|
|
1053
|
-
* `<task-completed>` banner. Drain to capture it. If for any
|
|
1054
|
-
* reason the banner is missing (defensive — a misbehaving
|
|
1055
|
-
* dispatch path that resolved without enqueuing), synthesize a
|
|
1056
|
-
* minimal one from the wake event so the agent still observes
|
|
1057
|
-
* the resolution rather than silently looping again.
|
|
1058
|
-
*
|
|
1059
1072
|
* - `aborted`: caller is expected to break out before reaching this
|
|
1060
1073
|
* helper. If reached anyway, returns `undefined` so the outer
|
|
1061
1074
|
* loop treats it as a terminal exit.
|
|
@@ -1113,7 +1126,7 @@ type EnvelopeAggregateEnforcer = (fragments: readonly string[], context?: Envelo
|
|
|
1113
1126
|
* `readonly KodaXMessage[]` (possibly empty). Callers must spread the
|
|
1114
1127
|
* result into their next-iteration input.
|
|
1115
1128
|
*/
|
|
1116
|
-
declare function composeIdleYieldUserMessage
|
|
1129
|
+
declare function composeIdleYieldUserMessage(wakeEvent: WakeEvent, drainBackgroundQueue: () => readonly QueuedMessage[], enforceAggregate?: EnvelopeAggregateEnforcer, onUserPrompts?: (prompts: readonly string[]) => void, resolveTurnId?: () => string | undefined, priorMessages?: readonly KodaXMessage[]): Promise<readonly KodaXMessage[]>;
|
|
1117
1130
|
|
|
1118
1131
|
/**
|
|
1119
1132
|
* Generic outer loop for async fan-out + idle-yield resume.
|
|
@@ -1159,7 +1172,7 @@ declare const DEFAULT_IDLE_YIELD_MAX_ITERATIONS = 64;
|
|
|
1159
1172
|
interface RunWithIdleYieldRunResult {
|
|
1160
1173
|
readonly messages: readonly AgentMessage[];
|
|
1161
1174
|
}
|
|
1162
|
-
interface RunWithIdleYieldOptions<TRunResult extends RunWithIdleYieldRunResult
|
|
1175
|
+
interface RunWithIdleYieldOptions<TRunResult extends RunWithIdleYieldRunResult> {
|
|
1163
1176
|
/** Agent that executes the first iteration of the loop. */
|
|
1164
1177
|
readonly initialAgent: Agent;
|
|
1165
1178
|
/** Initial input messages for the first `Runner.run`. */
|
|
@@ -1187,7 +1200,6 @@ interface RunWithIdleYieldOptions<TRunResult extends RunWithIdleYieldRunResult,
|
|
|
1187
1200
|
* `registry` arm. Mutations to this map between iterations are
|
|
1188
1201
|
* visible to the next wake.
|
|
1189
1202
|
*/
|
|
1190
|
-
readonly registry: ChildTaskRegistry<TChildResult>;
|
|
1191
1203
|
/** Process-global message queue. Passed verbatim to `waitForWakeEvent`. */
|
|
1192
1204
|
readonly messageQueue: MessageQueue;
|
|
1193
1205
|
/**
|
|
@@ -1290,7 +1302,7 @@ interface RunWithIdleYieldOptions<TRunResult extends RunWithIdleYieldRunResult,
|
|
|
1290
1302
|
* - Bug F (abort listener leak): owned by `waitForWakeEvent` —
|
|
1291
1303
|
* unaffected by this wrapper.
|
|
1292
1304
|
*/
|
|
1293
|
-
declare function runWithIdleYield<TRunResult extends RunWithIdleYieldRunResult
|
|
1305
|
+
declare function runWithIdleYield<TRunResult extends RunWithIdleYieldRunResult>(opts: RunWithIdleYieldOptions<TRunResult>): Promise<TRunResult>;
|
|
1294
1306
|
|
|
1295
1307
|
/**
|
|
1296
1308
|
* Generic concurrency-bounded fan-out — `runFanOut`.
|
|
@@ -1429,78 +1441,6 @@ interface RunFanOutResult<TBundle, TResult> {
|
|
|
1429
1441
|
*/
|
|
1430
1442
|
declare function runFanOut<TBundle, TResult>(opts: RunFanOutOptions<TBundle, TResult>): Promise<RunFanOutResult<TBundle, TResult>>;
|
|
1431
1443
|
|
|
1432
|
-
/**
|
|
1433
|
-
* Generic cross-agent send-message router primitive.
|
|
1434
|
-
*
|
|
1435
|
-
* FEATURE_120 v0.7.39 Phase 2a (ADR-021). Coordinator-style agents need
|
|
1436
|
-
* to dispatch instructions to running peer/child agents whose execution
|
|
1437
|
-
* is gated by an agentId-scoped `MessageQueue`. This module owns the
|
|
1438
|
-
* minimal "validate target exists, enqueue addressed message, report
|
|
1439
|
-
* outcome" trio so the @kodax-ai/agent package can ship the substrate
|
|
1440
|
-
* without inheriting any coding-flavor framing.
|
|
1441
|
-
*
|
|
1442
|
-
* Caller responsibilities (NOT done here):
|
|
1443
|
-
* - Content framing (e.g., `<coordinator-instruction>` tag wrapping)
|
|
1444
|
-
* — this is a tool-layer / flavor concern.
|
|
1445
|
-
* - Priority choice — the caller decides whether a route is
|
|
1446
|
-
* `'user'` (interrupts) or `'background'` (queued for next yield).
|
|
1447
|
-
* - Mode choice — `'prompt'` for new instructions,
|
|
1448
|
-
* `'system-reminder'` for advisory metadata, etc.
|
|
1449
|
-
* - Sentinel target handling (e.g., broadcast `'*'`) — the router
|
|
1450
|
-
* rejects them as `unknown-target` because they aren't registry
|
|
1451
|
-
* keys; callers can intercept upstream if they need fan-out
|
|
1452
|
-
* semantics.
|
|
1453
|
-
*
|
|
1454
|
-
* What this primitive owns:
|
|
1455
|
-
* - Existence check against a `ReadonlyMap<string, unknown>`
|
|
1456
|
-
* registry — the value type is opaque; we only care about key
|
|
1457
|
-
* membership.
|
|
1458
|
-
* - Enqueue via `MessageQueue.enqueue` with `agentId` set to `to`.
|
|
1459
|
-
* - Structured result so callers can render success / error UX
|
|
1460
|
-
* without re-parsing strings.
|
|
1461
|
-
*/
|
|
1462
|
-
|
|
1463
|
-
interface RouteMessageOptions {
|
|
1464
|
-
/** Target agentId. Must exist as a key in `registry`. */
|
|
1465
|
-
readonly to: string;
|
|
1466
|
-
/** Priority class — `'user'` interrupts, `'background'` waits. */
|
|
1467
|
-
readonly priority: MessagePriority;
|
|
1468
|
-
/** Message mode — caller selects based on intent. */
|
|
1469
|
-
readonly mode: MessageMode;
|
|
1470
|
-
/**
|
|
1471
|
-
* Pre-formatted message body. The router does NOT wrap this — any
|
|
1472
|
-
* framing (e.g. tags) must be applied by the caller before invoking.
|
|
1473
|
-
*/
|
|
1474
|
-
readonly content: string;
|
|
1475
|
-
/**
|
|
1476
|
-
* Registry the target must appear in. The value type is opaque; the
|
|
1477
|
-
* router only calls `.has(to)`. Pass a `ChildTaskRegistry<T>` for the
|
|
1478
|
-
* standard child-task case, or any other `ReadonlyMap<string, ?>`.
|
|
1479
|
-
*/
|
|
1480
|
-
readonly registry: ReadonlyMap<string, unknown>;
|
|
1481
|
-
/** Queue to enqueue into when the target is known. */
|
|
1482
|
-
readonly queue: MessageQueue;
|
|
1483
|
-
}
|
|
1484
|
-
type RouteMessageResult = {
|
|
1485
|
-
readonly ok: true;
|
|
1486
|
-
readonly messageId: string;
|
|
1487
|
-
} | {
|
|
1488
|
-
readonly ok: false;
|
|
1489
|
-
readonly reason: 'unknown-target';
|
|
1490
|
-
readonly to: string;
|
|
1491
|
-
};
|
|
1492
|
-
/**
|
|
1493
|
-
* Validate that `to` is registered, then enqueue an addressed message.
|
|
1494
|
-
*
|
|
1495
|
-
* Returns `{ok: true, messageId}` on success; `{ok: false, reason:
|
|
1496
|
-
* 'unknown-target', to}` when the target is missing from `registry`.
|
|
1497
|
-
* On failure the queue is not mutated.
|
|
1498
|
-
*
|
|
1499
|
-
* Synchronous because `MessageQueue.enqueue` is synchronous — the
|
|
1500
|
-
* routing decision is a pure function of registry membership.
|
|
1501
|
-
*/
|
|
1502
|
-
declare function routeMessage(opts: RouteMessageOptions): RouteMessageResult;
|
|
1503
|
-
|
|
1504
1444
|
/**
|
|
1505
1445
|
* FEATURE_125 (v0.7.41) — Team Mode Layer 2b: system-prompt injection.
|
|
1506
1446
|
*
|
|
@@ -2291,7 +2231,7 @@ interface StoredSkillLearningApplyPlan {
|
|
|
2291
2231
|
readonly snapshotRoot?: string;
|
|
2292
2232
|
}
|
|
2293
2233
|
type StoredLearningApplyPlan = StoredSkillLearningApplyPlan;
|
|
2294
|
-
type GovernedSkillSource =
|
|
2234
|
+
type GovernedSkillSource = ResolvedSkillSource | 'external';
|
|
2295
2235
|
type SkillOwnership = 'system' | 'human' | 'background_created';
|
|
2296
2236
|
type SkillGovernanceAction = 'record_usage' | 'create' | 'patch' | 'archive' | 'quarantine' | 'delete' | 'consolidate' | 'direct_mutation';
|
|
2297
2237
|
type SkillGovernanceMode = 'telemetry' | 'proposal' | 'overlay_proposal' | 'blocked';
|
|
@@ -2522,6 +2462,107 @@ interface CompletedTurnLearningRecordResult {
|
|
|
2522
2462
|
}
|
|
2523
2463
|
declare function recordCompletedTurnLearning(input: CompletedTurnLearningInput): Promise<CompletedTurnLearningRecordResult>;
|
|
2524
2464
|
|
|
2465
|
+
interface CreateLearningCenterServiceOptions {
|
|
2466
|
+
readonly rootDir?: string;
|
|
2467
|
+
readonly clientIdentity: string;
|
|
2468
|
+
readonly now?: () => string;
|
|
2469
|
+
readonly proposalStores?: readonly string[];
|
|
2470
|
+
readonly actionDrivers?: readonly LearningActionDriver[];
|
|
2471
|
+
}
|
|
2472
|
+
interface LearningCenterService {
|
|
2473
|
+
initialize(): Promise<void>;
|
|
2474
|
+
list(query?: LearningQuery): Promise<LearningPage>;
|
|
2475
|
+
get(nameOrSlug: string): Promise<LearnedCapabilityRecord>;
|
|
2476
|
+
getSnapshot(): Promise<LearningSurfaceSnapshot>;
|
|
2477
|
+
events(afterRevision?: number): Promise<readonly LearningEvent[]>;
|
|
2478
|
+
subscribe(options?: LearningSubscribeOptions): AsyncIterable<LearningEvent>;
|
|
2479
|
+
acknowledge(nameOrSlug: string): Promise<void>;
|
|
2480
|
+
markSeen(nameOrSlug: string): Promise<void>;
|
|
2481
|
+
snooze(nameOrSlug: string, until: string): Promise<void>;
|
|
2482
|
+
reject(nameOrSlug: string): Promise<void>;
|
|
2483
|
+
disable(nameOrSlug: string): Promise<void>;
|
|
2484
|
+
rollback(nameOrSlug: string): Promise<void>;
|
|
2485
|
+
archive(nameOrSlug: string): Promise<void>;
|
|
2486
|
+
restore(nameOrSlug: string): Promise<void>;
|
|
2487
|
+
promote(nameOrSlug: string, scope: 'user'): Promise<void>;
|
|
2488
|
+
review(nameOrSlug: string): Promise<void>;
|
|
2489
|
+
trust(nameOrSlug: string): Promise<void>;
|
|
2490
|
+
record(record: LearnedCapabilityRecord): Promise<LearnedCapabilityRecord>;
|
|
2491
|
+
}
|
|
2492
|
+
declare class FileLearningCenterService implements LearningCenterService {
|
|
2493
|
+
private readonly options;
|
|
2494
|
+
private readonly store;
|
|
2495
|
+
private readonly now;
|
|
2496
|
+
private readonly proposalStores;
|
|
2497
|
+
private readonly drivers;
|
|
2498
|
+
private readonly waiters;
|
|
2499
|
+
constructor(options: CreateLearningCenterServiceOptions);
|
|
2500
|
+
initialize(): Promise<void>;
|
|
2501
|
+
list(query?: LearningQuery): Promise<LearningPage>;
|
|
2502
|
+
get(nameOrSlug: string): Promise<LearnedCapabilityRecord>;
|
|
2503
|
+
getSnapshot(): Promise<LearningSurfaceSnapshot>;
|
|
2504
|
+
events(afterRevision?: number): Promise<readonly LearningEvent[]>;
|
|
2505
|
+
subscribe(options?: LearningSubscribeOptions): AsyncIterable<LearningEvent>;
|
|
2506
|
+
acknowledge(nameOrSlug: string): Promise<void>;
|
|
2507
|
+
markSeen(nameOrSlug: string): Promise<void>;
|
|
2508
|
+
snooze(nameOrSlug: string, until: string): Promise<void>;
|
|
2509
|
+
reject(nameOrSlug: string): Promise<void>;
|
|
2510
|
+
disable(nameOrSlug: string): Promise<void>;
|
|
2511
|
+
rollback(nameOrSlug: string): Promise<void>;
|
|
2512
|
+
archive(nameOrSlug: string): Promise<void>;
|
|
2513
|
+
restore(nameOrSlug: string): Promise<void>;
|
|
2514
|
+
promote(nameOrSlug: string, _scope: 'user'): Promise<void>;
|
|
2515
|
+
review(nameOrSlug: string): Promise<void>;
|
|
2516
|
+
trust(nameOrSlug: string): Promise<void>;
|
|
2517
|
+
record(record: LearnedCapabilityRecord): Promise<LearnedCapabilityRecord>;
|
|
2518
|
+
private recordUnlocked;
|
|
2519
|
+
private transitionByName;
|
|
2520
|
+
private transition;
|
|
2521
|
+
private executeDriverAction;
|
|
2522
|
+
private driverFor;
|
|
2523
|
+
private loadCapabilities;
|
|
2524
|
+
private updateNotificationState;
|
|
2525
|
+
private emit;
|
|
2526
|
+
private updateF224Proposal;
|
|
2527
|
+
private findF224ProposalStore;
|
|
2528
|
+
}
|
|
2529
|
+
declare function createLearningCenterService(options: CreateLearningCenterServiceOptions): FileLearningCenterService;
|
|
2530
|
+
|
|
2531
|
+
interface LearnedAreaPaths {
|
|
2532
|
+
readonly root: string;
|
|
2533
|
+
readonly skills: string;
|
|
2534
|
+
readonly extensions: string;
|
|
2535
|
+
readonly capabilities: string;
|
|
2536
|
+
readonly events: string;
|
|
2537
|
+
readonly clients: string;
|
|
2538
|
+
}
|
|
2539
|
+
declare function resolveLearnedAreaPaths(rootDir: string): LearnedAreaPaths;
|
|
2540
|
+
declare class LearnedAreaStore {
|
|
2541
|
+
readonly paths: LearnedAreaPaths;
|
|
2542
|
+
constructor(rootDir: string);
|
|
2543
|
+
initialize(): Promise<void>;
|
|
2544
|
+
readCapability(capabilityId: string): Promise<LearnedCapabilityRecord | undefined>;
|
|
2545
|
+
listCapabilities(): Promise<readonly LearnedCapabilityRecord[]>;
|
|
2546
|
+
writeCapability(record: LearnedCapabilityRecord): Promise<void>;
|
|
2547
|
+
writeEvent(event: LearningEvent): Promise<void>;
|
|
2548
|
+
listEvents(): Promise<readonly LearningEvent[]>;
|
|
2549
|
+
readClient(identity: string): Promise<LearningClientRecord>;
|
|
2550
|
+
writeClient(record: LearningClientRecord): Promise<void>;
|
|
2551
|
+
withOwnerMutation<T>(operation: () => Promise<T>): Promise<T>;
|
|
2552
|
+
withClientMutation<T>(identity: string, operation: () => Promise<T>): Promise<T>;
|
|
2553
|
+
ensureCurrentEvent(record: LearnedCapabilityRecord): Promise<LearningEvent>;
|
|
2554
|
+
}
|
|
2555
|
+
declare function eventFromCapability(record: LearnedCapabilityRecord, sequence: number): LearningEvent;
|
|
2556
|
+
|
|
2557
|
+
interface LearningProposalProjection {
|
|
2558
|
+
readonly records: readonly LearnedCapabilityRecord[];
|
|
2559
|
+
readonly warnings: readonly string[];
|
|
2560
|
+
}
|
|
2561
|
+
declare function projectLearningProposals(filePath: string): Promise<LearningProposalProjection>;
|
|
2562
|
+
|
|
2563
|
+
declare function getLearnedExtensionToolName(slug: string, toolName: string): string;
|
|
2564
|
+
declare function isLearnedExtensionCommandAllowed(_command: string): false;
|
|
2565
|
+
|
|
2525
2566
|
declare function appendMemoryOutcomeDigest(lineage: KodaXSessionLineage, digest: KodaXMemoryOutcomeDigest): KodaXSessionLineage;
|
|
2526
2567
|
declare function appendMemoryReviewReceipt(lineage: KodaXSessionLineage, input: {
|
|
2527
2568
|
readonly reviewKey: string;
|
|
@@ -3098,6 +3139,13 @@ declare function gracefulCompactDegradation(messages: KodaXMessage[], contextWin
|
|
|
3098
3139
|
declare const DEFAULT_CONTEXT_WINDOW = 200000;
|
|
3099
3140
|
declare function resolveContextWindow(compactionConfig: CompactionConfig, provider: KodaXBaseProvider, modelOverride: string | undefined): number;
|
|
3100
3141
|
|
|
3142
|
+
interface BuildWorkflowOutcomeInput {
|
|
3143
|
+
readonly state: WorkflowRunState;
|
|
3144
|
+
readonly summary?: string;
|
|
3145
|
+
readonly error?: Error;
|
|
3146
|
+
}
|
|
3147
|
+
declare function buildWorkflowOutcome(input: BuildWorkflowOutcomeInput): WorkflowOutcome;
|
|
3148
|
+
|
|
3101
3149
|
declare class WorkflowScriptExecutionError extends Error {
|
|
3102
3150
|
constructor(message: string);
|
|
3103
3151
|
}
|
|
@@ -3241,5 +3289,133 @@ interface ReferenceAgentExecutorFactoryOptions {
|
|
|
3241
3289
|
}
|
|
3242
3290
|
declare function createReferenceAgentExecutorFactory(options: ReferenceAgentExecutorFactoryOptions): AgentExecutorFactory;
|
|
3243
3291
|
|
|
3244
|
-
|
|
3245
|
-
|
|
3292
|
+
interface AgentControllerOptions {
|
|
3293
|
+
readonly maxConcurrentThreadsPerSession?: number;
|
|
3294
|
+
readonly rootCapabilities?: AgentCapabilities;
|
|
3295
|
+
readonly executor?: AgentTurnExecutor;
|
|
3296
|
+
readonly executorFor?: (kind: AgentExecutionKind) => AgentTurnExecutor;
|
|
3297
|
+
readonly budget?: AgentBudgetPort;
|
|
3298
|
+
readonly store?: AgentActorStore;
|
|
3299
|
+
readonly now?: () => string;
|
|
3300
|
+
readonly warn?: (message: string) => void;
|
|
3301
|
+
readonly onBackgroundError?: (error: unknown) => void;
|
|
3302
|
+
/** Post-durability event sink. Callback failures never roll back committed actor state. */
|
|
3303
|
+
readonly onEventCommitted?: (event: AgentEvent) => void | Promise<void>;
|
|
3304
|
+
/** Post-durability mailbox sink. Callback failures never roll back committed actor state. */
|
|
3305
|
+
readonly onMessageCommitted?: (message: AgentMailboxMessage) => void | Promise<void>;
|
|
3306
|
+
}
|
|
3307
|
+
declare class AgentActorController {
|
|
3308
|
+
private readonly options;
|
|
3309
|
+
private readonly actors;
|
|
3310
|
+
private readonly turns;
|
|
3311
|
+
private readonly mailboxes;
|
|
3312
|
+
private readonly eventsLog;
|
|
3313
|
+
private readonly abortControllers;
|
|
3314
|
+
private readonly waiters;
|
|
3315
|
+
private readonly scheduler;
|
|
3316
|
+
private readonly budget;
|
|
3317
|
+
private readonly now;
|
|
3318
|
+
private mutationTail;
|
|
3319
|
+
private revision;
|
|
3320
|
+
private committedSnapshot;
|
|
3321
|
+
constructor(options?: AgentControllerOptions);
|
|
3322
|
+
initialize(): Promise<void>;
|
|
3323
|
+
bind(callerPath: string): AgentActorClient;
|
|
3324
|
+
/** Trusted host API: register a zero-slot Workflow protocol owner in this tree. */
|
|
3325
|
+
createProtocolOwner(callerPath: string, ownerId: string): Promise<AgentActorClient>;
|
|
3326
|
+
/** Trusted host API: settle a zero-slot Workflow protocol owner. */
|
|
3327
|
+
settleProtocolOwner(ownerPath: string, state: 'completed' | 'failed' | 'interrupted', result: AgentExecutionResult & {
|
|
3328
|
+
readonly error?: string;
|
|
3329
|
+
}): Promise<void>;
|
|
3330
|
+
/** Trusted host API: cancellation signal for a zero-slot Workflow protocol owner. */
|
|
3331
|
+
protocolOwnerSignal(ownerPath: string): AbortSignal;
|
|
3332
|
+
spawn(callerPath: string, input: AgentSpawnInput): Promise<AgentTurnRef>;
|
|
3333
|
+
send(callerPath: string, targetPath: string, content: string, classification?: AgentDataClassification, forwardedMessageId?: string): Promise<AgentMailboxMessage>;
|
|
3334
|
+
followup(callerPath: string, targetPath: string, objective: string, metadata?: Readonly<Record<string, AgentMetadataValue>>, options?: AgentMutationOptions): Promise<AgentFollowupResult>;
|
|
3335
|
+
interrupt(callerPath: string, targetPath: string, reason?: string, scope?: AgentInterruptScope): Promise<void>;
|
|
3336
|
+
close(callerPath: string, targetPath: string, reason?: string): Promise<void>;
|
|
3337
|
+
/** Stops in-flight work for process shutdown while preserving reusable Actor identities. */
|
|
3338
|
+
shutdown(reason?: string): Promise<void>;
|
|
3339
|
+
list(callerPath: string): AgentTreeSnapshot;
|
|
3340
|
+
get(callerPath: string, targetPath: string): AgentDetail;
|
|
3341
|
+
output(callerPath: string, targetPath: string, turnId?: string): AgentOutput;
|
|
3342
|
+
eventSnapshot(callerPath: string, afterSequence?: number): readonly AgentEvent[];
|
|
3343
|
+
wait(callerPath: string, afterSequence?: number, timeoutMs?: number, signal?: AbortSignal): Promise<AgentEvent | undefined>;
|
|
3344
|
+
private prepareSpawn;
|
|
3345
|
+
private prepareExistingTurn;
|
|
3346
|
+
private admitTurn;
|
|
3347
|
+
private commitStart;
|
|
3348
|
+
private launch;
|
|
3349
|
+
private completeExecution;
|
|
3350
|
+
private failExecution;
|
|
3351
|
+
private finishTurn;
|
|
3352
|
+
private appendCompletion;
|
|
3353
|
+
private drainMailbox;
|
|
3354
|
+
private unreadMailbox;
|
|
3355
|
+
private recordProgress;
|
|
3356
|
+
private resolveForwarding;
|
|
3357
|
+
private appendMessage;
|
|
3358
|
+
private appendEvent;
|
|
3359
|
+
private requireControl;
|
|
3360
|
+
private assertMessagePermission;
|
|
3361
|
+
private isVisible;
|
|
3362
|
+
private visibleActors;
|
|
3363
|
+
private latestTurnSummary;
|
|
3364
|
+
private descendantsInclusive;
|
|
3365
|
+
private createActor;
|
|
3366
|
+
private createTurn;
|
|
3367
|
+
private requireActor;
|
|
3368
|
+
private requireTurn;
|
|
3369
|
+
private requireCommittedActor;
|
|
3370
|
+
private requireCommittedTurn;
|
|
3371
|
+
private requireCommittedControl;
|
|
3372
|
+
private installRoot;
|
|
3373
|
+
private mutate;
|
|
3374
|
+
private snapshot;
|
|
3375
|
+
private restore;
|
|
3376
|
+
private recoverUnmatchedTurns;
|
|
3377
|
+
private notify;
|
|
3378
|
+
private publishCommittedEvent;
|
|
3379
|
+
private publishCommittedMessage;
|
|
3380
|
+
private reportBackgroundError;
|
|
3381
|
+
}
|
|
3382
|
+
declare function createAgentActorController(options?: AgentControllerOptions): Promise<AgentActorController>;
|
|
3383
|
+
|
|
3384
|
+
declare class AgentLimitReachedError extends Error implements AgentLimitReached {
|
|
3385
|
+
readonly maxConcurrentThreads: number;
|
|
3386
|
+
readonly activeNonRootTurns: number;
|
|
3387
|
+
readonly code: "agent_limit_reached";
|
|
3388
|
+
readonly availableNonRootSlots: 0;
|
|
3389
|
+
readonly retryable: true;
|
|
3390
|
+
constructor(maxConcurrentThreads: number, activeNonRootTurns: number);
|
|
3391
|
+
}
|
|
3392
|
+
declare class AgentBudgetExhaustedError extends Error implements AgentBudgetExhausted {
|
|
3393
|
+
readonly reason: string;
|
|
3394
|
+
readonly code: "agent_budget_exhausted";
|
|
3395
|
+
readonly retryable: false;
|
|
3396
|
+
constructor(reason: string);
|
|
3397
|
+
}
|
|
3398
|
+
declare class AgentRevisionConflictError extends Error {
|
|
3399
|
+
readonly expectedRevision: number;
|
|
3400
|
+
readonly currentRevision: number;
|
|
3401
|
+
readonly code: "revision_conflict";
|
|
3402
|
+
constructor(expectedRevision: number, currentRevision: number);
|
|
3403
|
+
}
|
|
3404
|
+
type AgentControlErrorCode = 'actor_closed' | 'actor_not_found' | 'invalid_actor_path' | 'invalid_capabilities' | 'invalid_fork_turns' | 'invalid_forward_reference' | 'invalid_message' | 'invalid_task_name' | 'message_cycle_detected' | 'name_collision' | 'no_active_turn' | 'permission_denied' | 'unsupported_operation';
|
|
3405
|
+
declare class AgentControlError extends Error {
|
|
3406
|
+
readonly code: AgentControlErrorCode;
|
|
3407
|
+
constructor(code: AgentControlErrorCode, message: string);
|
|
3408
|
+
}
|
|
3409
|
+
|
|
3410
|
+
declare class AgentTurnScheduler {
|
|
3411
|
+
readonly maxConcurrentThreads: number;
|
|
3412
|
+
private readonly active;
|
|
3413
|
+
constructor(maxConcurrentThreads: number);
|
|
3414
|
+
get activeNonRootTurns(): number;
|
|
3415
|
+
reserve(turnId: string): void;
|
|
3416
|
+
release(turnId: string): void;
|
|
3417
|
+
restore(turnIds: readonly string[]): void;
|
|
3418
|
+
}
|
|
3419
|
+
|
|
3420
|
+
export { Agent, AgentActorClient, AgentActorController, AgentActorStore, AgentBudgetExhausted, AgentBudgetExhaustedError, AgentBudgetPort, AgentCancellationUncertainError, AgentCapabilities, AgentControlError, AgentDataClassification, AgentDetail, AgentEvent, AgentExecutionKind, AgentExecutionResult, AgentExecutorFactory, AgentExecutorPlane, AgentExecutorPlaneStore, AgentFollowupResult, AgentInterruptScope, AgentLimitReached, AgentLimitReachedError, AgentMailboxMessage, AgentManifest, AgentMessage, AgentMetadataValue, AgentMutationOptions, AgentOutput, AgentRevisionConflictError, AgentSpawnInput, AgentStartUncertainError, AgentTreeSnapshot, AgentTurnExecutor, AgentTurnRef, AgentTurnScheduler, CAPABILITY_CACHE_FILENAME, COMPACTION_SUMMARY_PREFIX, CONTEXT_SAFETY_FLOOR_TOKENS, CONTEXT_SAFETY_RATIO, CORE_INVARIANTS, CapabilityCache, CapabilityCacheSource, CompactionConfig, CompactionDetails, CompactionResult, ConsoleTracingProcessor, ContextCapacityError, CreateAgentExecutorPlaneOptions, DEFAULT_CONTEXT_WINDOW, DEFAULT_IDLE_YIELD_MAX_ITERATIONS, DEFAULT_MICROCOMPACTION_CONFIG, DEFAULT_POST_COMPACT_CONFIG, DEFAULT_SUMMARY_PROMPT, DEFAULT_UPDATE_SUMMARY_PROMPT, DequeueFilter, DiscoveredInstance, ELECTRON_NODE_ENV_SCRUB_IMPORT, ELECTRON_RUN_AS_NODE_ENV, EnqueueInput, ExternalAgentProtocol, ExternalAgentRegistrationConflictError, FileExtensionStore, FileLearningCenterService, FileTracingProcessor, HARDENED_ENV_VARS, HARDENING_OPT_OUT_ENV, Handoff, ImageResizeError, InstanceDiscoveryFs, InvariantId, KODAX_FILE_MEDIA_TYPES, KODAX_IMAGE_MEDIA_TYPES, KODAX_VIDEO_MEDIA_TYPES, KodaXExtensionStore, KodaXExtensionStoreEntry, KodaXFileInputArtifact, KodaXGoalEventType, KodaXGoalState, KodaXImageBlock, KodaXImageInputArtifact, KodaXImageMediaType, KodaXInputArtifact, KodaXInputArtifactSource, KodaXJsonValue, KodaXMediaError, KodaXMemoryOutcomeDigest, KodaXMessage, KodaXSessionArtifactLedgerEntry, KodaXSessionEntry, KodaXSessionGoalEntry, KodaXSessionLineage, KodaXToolDefinition, KodaXToolUseBlock, KodaXVideoInputArtifact, KodaXVideoMediaType, LearnedAreaStore, LearnedCapabilityRecord, LearningActionDriver, LearningClientRecord, LearningEvent, LearningPage, LearningQuery, LearningSubscribeOptions, LearningSurfaceSnapshot, MAX_DIMENSION, MAX_ENTRYPOINT_BYTES, MAX_ENTRYPOINT_LINES, MAX_SKILL_MD_BYTES, MAX_SKILL_SUPPORT_FILE_BYTES, MEMORY_POLICY_VERSION, ManifestPatch, MemoryActionProposal, MemoryApplicability, MemoryApplyResult, MemoryBodySnapshot, MemoryContextIdentity, MemoryControlPlane, MemoryController, MemoryCuratorInput, MemoryEpisodeReviewResult, MemoryEvent, MemoryGovernanceReport, MemoryItemRef, MemoryLifecycleOperationResult, MemoryPack, MemoryPackInput, MemoryRefFilter, MemoryRejectResult, MemoryReviewInput, MemoryReviewPlan, MemoryReviewRunner, MessagePriority, MessageQueue, PASTE_TMP_DIR_ENV, PASTE_TMP_TTL_MS, POST_COMPACT_MAX_TOKENS_PER_FILE, POST_COMPACT_TOKEN_BUDGET, PROTECTED_TOOL_NAMES, QualityInvariant, QueuedInputArtifact, QueuedInputArtifactError, QueuedMessage, ResolvedSkillSource, RunnerToolCall, RunnerToolResult, SessionMeta, SessionStateSnapshot, Span, StateWriter, StateWriterFs, StopHookContext, StopHookFn, StopHookResult, TARGET_RAW_SIZE_BYTES, Trace, WorkflowAbortError, WorkflowAgentBackend, WorkflowApi, WorkflowBudgetError, WorkflowEvent, WorkflowLimitError, WorkflowLimits, WorkflowLogEvent, WorkflowModule, WorkflowOutcome, WorkflowRunState, WorkflowScriptExecutionError, WorkflowScriptManifest, WorkflowTaskFailedError, WorkflowTaskResult, YIELD_TOOL_NAMES, _emitSpanEnd, _emitSpanStart, _emitTraceEnd, _getRegisteredProcessors, _resetAdmissionMetrics, _resetInvariantRegistry, _resetMessageQueueForTests, addTracingProcessor, appendGoalEntry, appendMemoryClientNotice, appendMemoryOutcomeDigest, appendMemoryReviewReceipt, applyManifestPatch, applyProcessHardening, applySkillLearningProposal, approveStoredLearningProposal, bootstrapTeamMode, buildCompactionPromptSnapshot, buildFileContentMessages, buildOtherInstancesPromptBlock, buildPostCompactAttachments, buildRecoverySeed, buildWorkflowOutcome, calculateContextSafetyMargin, calculateMaxContextInputTokens, canMarkCreatedByAgent, cleanupRegisteredManagedChildren, clearCapabilityCache, compact, completeEpisodeReview, composeIdleYieldUserMessage, composePatches, computeSkillConsumerImpact, countLastAssistantToolCalls, createAgentActorController, createAgentExecutorPlane, createExtensionStore, createFileArtifactFromPath, createImageArtifactFromPath, createLearningCenterService, createLlmJudgedStopHook, createMemoryAgentExecutorPlaneStore, createMemoryControlPlane, createReferenceAgentExecutorFactory, createRestrictedWorkflowModule, createVideoArtifactFromPath, createWorkflowRuntime, decideSkillGovernance, detectHandoffSignal, detectIdleYield, drainPendingEpisodeReviews, editDistance, emitHandoffSpan, emitKodaXDiagnostic, enqueueWithArtifacts, eventFromCapability, evidenceTrail, exceedsContextCapacity, finalOwner, findFuzzyToolMatch, formatKodaXDiagnostic, generateSummary, getActiveTeamModeWriter, getAdmissionMetricsSnapshot, getCachedRejectedEfforts, getCapabilityCacheFile, getInvariant, getLearnedExtensionToolName, getMessageQueue, getModelInputCapabilities, gracefulCompactDegradation, handoffLegality, hashCwd, inferImageMediaType, inferVideoMediaType, injectPostCompactAttachments, invokeLlmJudge, isAdmissionDebugEnabled, isAutoManagedMemoryFile, isChildProcessExited, isEmptyLikeSummary, isGoalEntry, isIdleYieldEnabled, isLearnedExtensionCommandAllowed, killChildProcessTree, killChildProcessTreeSync, killPidTree, killPidTreeSync, listPendingEpisodeReviews, listRegisteredInvariants, loadCapabilityCache, maybeDrainMidTurn, microcompact, midTurnDrainPriority, needsCompaction, normalizePastedImage, normalizeRecoveryPrompt, normalizeWorkflowLimits, parseMemoryFile, parseMemoryType, parseMemoryTypeFromFilename, parseScalarFields, persistImageAsBlock, persistPendingEpisodeReview, prepareInternalNodeLaunch, projectLearningProposals, prunePasteTmpDir, readAndNormalizeClipboardImage, readClipboardImage, readLatestGoalFromBranch, readLatestGoalState, readLearningProposalStore, readSkillTrustLedger, readSkillUsageLedger, recordCompletedTurnLearning, recordProceduralLearning, recordRejectedEffort, recordSkillUsage, registerCoreInvariants, registerInvariant, registerManagedChildProcess, replaceSystemMessage, resetCapabilityCacheMemoForTesting, resolveContextWindow, resolveEffectiveInvariants, resolveLearnedAreaPaths, resolveLearningProposalStore, resolveMemoryEntrypoint, resolveMemoryRoot, resolveRequiredInvariants, resolveScopedMemoryRoot, resolveSkillSnapshotLocation, resolveSkillTrustLedger, resolveSkillUsageLedger, rewindPendingEpisodeReviews, runFanOut, runRestrictedWorkflowScript, runWithIdleYield, runWorkflow, sanitizeProjectKey, serializeConversation, setActiveTeamModeWriter, setKodaXDiagnosticSink, setTracingProcessors, shouldCompact, shutdownTracing, stripHardenedEnvVars, triageProceduralLearning, truncateEntrypointContent, tryGitRemote, updateActiveTeamMode, updateLearningProposalStatus, updateSkillTrustLedger, upsertLearningProposal, validateInputArtifactsForModel, validateRestrictedWorkflowSource, waitForChildProcessExit, waitForWakeEvent };
|
|
3421
|
+
export type { AdmissionMetricsSnapshot, AgentControlErrorCode, AgentControllerOptions, ApproveStoredLearningProposalOptions, BuildWorkflowOutcomeInput, CompletedTurnLearningCandidate, CompletedTurnLearningInput, CompletedTurnLearningRecordResult, ConsoleTracingProcessorOptions, ContextCapacityInput, CreateFileArtifactFromPathOptions, CreateImageArtifactFromPathOptions, CreateLearningCenterServiceOptions, CreateLlmJudgedStopHookOptions, CreateMemoryControlPlaneOptions, CreateVideoArtifactFromPathOptions, CreateWorkflowRuntimeOptions, DiscardedLearningReport, DurableMemoryScope, EnqueueWithArtifactsInput, EntrypointTruncation, EnvelopeAggregateCapacityContext, EnvelopeAggregateEnforcer, EpisodeReviewDrainEligibility, EpisodeReviewDrainOptions, EpisodeReviewDrainResult, EpisodeReviewReceipt, FanOutOutcome, FanOutProgressEvent, FileTracingProcessorOptions, GetModelInputCapabilitiesInput, GovernedSkillSource, HandoffSignal, IdleYieldSnapshot, InternalNodeLaunch, InvokeLlmJudgeOptions, KodaXCompactionPromptSection, KodaXCompactionPromptSnapshot, KodaXCompactionPromptVariant, KodaXDiagnostic, KodaXDiagnosticLevel, KodaXDiagnosticSink, KodaXInputCapabilityStatus, KodaXMediaErrorCode, KodaXMediaErrorOptions, KodaXModalityInputCapability, LearnedAreaPaths, LearningCandidate, LearningCenterService, LearningIntakeRecordResult, LearningProposalProjection, LearningProposalReviewStatus, LearningProposalStoreReadResult, LearningRisk, LearningUserLabel, LlmJudgeFailureReason, ManagedChildCleanupSummary, ManagedChildProcessMetadata, ManagedChildRegistrationOptions, MaybeDrainMidTurnInput, MemoryExecutionContext, MemoryFrontmatter, MemoryHandoffMetadata, MemoryLearningHandoff, MemoryType, MemoryWriteOrigin, MicrocompactionConfig, ModelInputCapabilities, NormalizeImageOptions, NormalizedImage, ParsedMemoryFile, PendingEpisodeReview, PersistImageAsBlockOptions, PostCompactAttachments, PostCompactConfig, PrepareInternalNodeLaunchOptions, ProceduralLearningDestination, ProceduralLearningInput, ProceduralLearningResult, ProcessTreeKillOptions, ReasoningLearningHandoff, RecordProceduralLearningInput, RecoverySeed, RecoverySeedInput, ReferenceAgentExecutorFactoryOptions, RenderOptions, RestrictedWorkflowModuleInput, ReviewableLearningProposal, RunFanOutOptions, RunFanOutResult, RunRestrictedWorkflowScriptOptions, RunWithIdleYieldOptions, RunWithIdleYieldRunResult, ShouldCompactInput, SkillConsumerImpact, SkillConsumerImpactScanInput, SkillGovernanceAction, SkillGovernanceDecision, SkillGovernanceInput, SkillGovernanceMode, SkillLearningApplyInput, SkillLearningProposal, SkillMutationApplyResult, SkillMutationChange, SkillOwnership, SkillSnapshotLocation, SkillTrustLedgerReadResult, SkillTrustRecord, SkillTrustState, SkillTrustUpdateInput, SkillTrustUpdateResult, SkillUsageEvent, SkillUsageEventInput, SkillUsageLedgerReadResult, SkillUsageRecord, SkillUsageRecordResult, SkillWriteOrigin, StoredLearningApplyPlan, StoredLearningApprovalResult, StoredLearningProposal, StoredSkillLearningApplyPlan, TeamModeBootstrapOptions, TeamModeHandle, TraceOnlyLearningReport, TracingProcessor, ValidateInputArtifactsOptions, ValidateRestrictedWorkflowSourceOptions, WaitForWakeEventOptions, WakeEvent, WorkflowLearningHandoff, WorkflowLearningSuggestedAction, WorkflowModuleResolver, WorkflowResultCache, WorkflowRunOutcome, WorkflowRuntimeHandle };
|