lua-cli 3.36.0 → 3.37.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/dist/api-exports.d.ts +26 -13
- package/dist/api-exports.js +80 -2
- package/dist/api-exports.js.map +1 -1
- package/dist/index.js +222 -17
- package/dist/index.js.map +1 -1
- package/dist/workflow-builder.js +79 -1
- package/dist/workflow-builder.js.map +1 -1
- package/docs/README.md +2 -2
- package/package.json +2 -2
- package/template/package.json +1 -1
package/dist/api-exports.d.ts
CHANGED
|
@@ -218,19 +218,6 @@ declare interface AgentInvocationInput {
|
|
|
218
218
|
};
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
/**
|
|
222
|
-
* LUA-724 (PR 7) — the billed turn's pricing inputs, exactly as chat's settlement event carries
|
|
223
|
-
* them (`chat.service.trackLlmInferenceUsage`): the model that ACTUALLY served the turn (the
|
|
224
|
-
* resolver's code, not the caller's pin), the de-paged `contextInputTokens` (largest single
|
|
225
|
-
* step's prompt — never the whole-turn sum), the tool-call COUNT, and whether the turn ran on
|
|
226
|
-
* the org's own key. `chargedCredits` echoes the gate's answer (true ⇒ the legacy pool deducted
|
|
227
|
-
* in real time; false ⇒ seat org / free turn — settlement meters it).
|
|
228
|
-
*
|
|
229
|
-
* Stamped by the serving pod ONLY on internal-auth turns that carry a billing `operationId`
|
|
230
|
-
* (the workflow agent-step loopback), as the enumerable `luaMeter` top-level field of the
|
|
231
|
-
* generate envelope — never on a Bearer turn, so the public wire is byte-identical. The
|
|
232
|
-
* workflow executor prices the step's `run.budget.spent` from it with `priceModelCall`.
|
|
233
|
-
*/
|
|
234
221
|
declare interface AgentInvocationMeter {
|
|
235
222
|
model?: string;
|
|
236
223
|
contextInputTokens?: number;
|
|
@@ -7740,6 +7727,14 @@ declare interface WorkflowRun {
|
|
|
7740
7727
|
* `lua workflows status` prints the roll-up when it is there and says nothing when it is not.
|
|
7741
7728
|
*/
|
|
7742
7729
|
byModel?: WorkflowRunModelUsageRow[];
|
|
7730
|
+
/**
|
|
7731
|
+
* [WJB-B5] (BAC-671) — the run's token components, summed by the server from the usage rows its charges
|
|
7732
|
+
* were written from (per-call `workflow:job` rows on the Job tier, `llm:inference` rows off it).
|
|
7733
|
+
* `inputTokens` is the UNCACHED prompt; the two cache figures are read and write. Present only once the
|
|
7734
|
+
* server projects it (a metered run on a server that has this change) — the CLI prints nothing otherwise,
|
|
7735
|
+
* and never adds the members together: cache reads are a SUBSET of input on OpenAI-compatible providers.
|
|
7736
|
+
*/
|
|
7737
|
+
tokens?: WorkflowRunTokensDto;
|
|
7743
7738
|
};
|
|
7744
7739
|
/**
|
|
7745
7740
|
* R4: the run's caps and settled spend. `maxCredits` and `remaining` are both absent on an uncapped run (`0` = unset);
|
|
@@ -7757,6 +7752,12 @@ declare interface WorkflowRun {
|
|
|
7757
7752
|
};
|
|
7758
7753
|
reserved?: number;
|
|
7759
7754
|
remaining?: number;
|
|
7755
|
+
/**
|
|
7756
|
+
* [WJB-B5] (BAC-677): the run went PAST its cap and finished anyway — the crossing step was terminal for
|
|
7757
|
+
* the run, so it completed rather than parking for a raise nobody could act on. `true` or ABSENT on the
|
|
7758
|
+
* wire, never `false`; the CLI prints it and never derives it from `spent > maxCredits`.
|
|
7759
|
+
*/
|
|
7760
|
+
exceeded?: boolean;
|
|
7760
7761
|
};
|
|
7761
7762
|
createdAt: string;
|
|
7762
7763
|
startedAt?: string;
|
|
@@ -7787,6 +7788,18 @@ declare interface WorkflowRunModelUsageRow {
|
|
|
7787
7788
|
/** §02 §2.4 run statuses (one union across every section). */
|
|
7788
7789
|
declare type WorkflowRunStatus = 'queued' | 'running' | 'cancellation_requested' | 'gated' | 'suspended' | 'waiting' | 'completed' | 'failed' | 'cancelled' | 'abandoned' | 'timed_out';
|
|
7789
7790
|
|
|
7791
|
+
/**
|
|
7792
|
+
* [WJB-B5] (BAC-671) — the four token figures the server sums per run and per step (`WorkflowRunTokens` in
|
|
7793
|
+
* `@lua/shared-types`). Every member optional: the CLI is a reader of whatever the server sends, and a figure
|
|
7794
|
+
* a server does not project must print as nothing rather than as a zero the run never reported.
|
|
7795
|
+
*/
|
|
7796
|
+
declare interface WorkflowRunTokensDto {
|
|
7797
|
+
inputTokens?: number;
|
|
7798
|
+
cacheReadTokens?: number;
|
|
7799
|
+
cacheCreationTokens?: number;
|
|
7800
|
+
outputTokens?: number;
|
|
7801
|
+
}
|
|
7802
|
+
|
|
7790
7803
|
export declare type WorkflowRunTrigger = 'chat' | 'sdk' | 'api' | 'schedule' | 'webhook' | 'template' | 'workflow' | 'device';
|
|
7791
7804
|
|
|
7792
7805
|
/**
|
package/dist/api-exports.js
CHANGED
|
@@ -944,6 +944,9 @@ function workflowOccurrenceId(lineageId, stepId) {
|
|
|
944
944
|
function workflowOrgSlotKey(orgId, kind) {
|
|
945
945
|
return `wf:org:${orgId}:${kind}`;
|
|
946
946
|
}
|
|
947
|
+
function workflowJobModelSourceLabel(source) {
|
|
948
|
+
return WORKFLOW_JOB_MODEL_SOURCE_LABELS[source];
|
|
949
|
+
}
|
|
947
950
|
function scheduledTimeKey(scheduledTime) {
|
|
948
951
|
return scheduledTime.replace(/[^0-9TZ]/g, "");
|
|
949
952
|
}
|
|
@@ -1254,7 +1257,7 @@ function effectiveAgentFeatures(base, override, rule) {
|
|
|
1254
1257
|
if (rule === "wholesale") return override || base || void 0;
|
|
1255
1258
|
return effectiveAgentFeatureRows(base, override).rows;
|
|
1256
1259
|
}
|
|
1257
|
-
var __defProp2, __name2, CHANNEL_SEND_CHANNELS, REVIEWABLE_ACTION_EXECUTE_TOOL_ALLOWLIST, REVIEWABLE_STANDING_START_TOOLS, REVIEWABLE_MCP_SEND_TOOL_SUFFIX, MCP_TOOL_READ_VERB_RE, MCP_DRAFT_CREATE_VERBS, NON_INTERACTIVE_CHANNELS, RICH_PARTS_MESSAGE_ID_PREFIX, SCREENSHOT_MESSAGE_ID_PREFIX, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, DESKTOP_FILE_COMMANDS, DESKTOP_FILE_COMMAND_SET, WORKFLOW_RETRY_BACKOFFS, WORKFLOW_RETRY_MIN_ATTEMPTS, WORKFLOW_RETRY_POLICY_KEYS, WORKFLOW_RETRY_MAX_ATTEMPTS, WORKFLOW_RETRY_ENGINE_KEYS, WORKFLOW_JOB_RESOURCES, WORKFLOW_SIDE_EFFECTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, CORE_DRAINING_CODE, CORE_DRAINING_DEFAULT_RETRY_MS, CORE_DRAINING_MAX_RETRY_MS, VoiceNameSchema, PluginProviderSchema, RealtimeProviderSchema, PluginClassSchema, ModelDescriptorSchema, InferenceModelSchema, PluginModelSchema, RealtimeModelSchema, LuaVoiceModelSchema, TurnDetectionSchema, InterruptionSchema, BuiltinAudioClipSchema, AudioConfigSchema, BackgroundAudioEntrySchema, BackgroundAudioSchema, LuaVoiceConfigInnerSchema, LuaVoiceConfigSchema, LuaVoiceRefSchema, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_RESOLVE_OUTPUT_MAX_BYTES, WORKFLOW_GOAL_JUDGE_SELF, REDACTED_PLACEHOLDER, PROVIDER_MESSAGE_MAX_CHARS, ERROR_MESSAGE_MAX_CHARS, SECRET_LITERAL_PATTERNS, SECRET_NAME, SECRET_PAIR_PATTERNS, GROUP_COUNT, WORKFLOW_SECRET_KEY_RE, WORKFLOW_RESERVED_SECRET_KEYS, SCRUB_INPUT_MAX_CHARS, SCRUB_CUT_BACKOFF_CHARS, WORKFLOW_AUDIT_EVENTS, WORKFLOW_AUDIT_METADATA_MAX_BYTES, INDENT, WRAP_WIDTH, NOUNS, GET_TOOL_NAMES, PREAMBLE, WORKFLOW_APPROVAL_OUTPUT_DECISIONS, WORKFLOW_APPROVAL_OUTPUT_SCHEMA, JSON_FENCE_RE, DEFAULT_ON_AGENT_FEATURES, SUBAGENT_PER_KEY_FLAG_ENV, PER_KEY_FLAG_VALUES;
|
|
1260
|
+
var __defProp2, __name2, CHANNEL_SEND_CHANNELS, REVIEWABLE_ACTION_EXECUTE_TOOL_ALLOWLIST, REVIEWABLE_STANDING_START_TOOLS, REVIEWABLE_MCP_SEND_TOOL_SUFFIX, MCP_TOOL_READ_VERB_RE, MCP_DRAFT_CREATE_VERBS, NON_INTERACTIVE_CHANNELS, RICH_PARTS_MESSAGE_ID_PREFIX, SCREENSHOT_MESSAGE_ID_PREFIX, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, DESKTOP_FILE_COMMANDS, DESKTOP_FILE_COMMAND_SET, WORKFLOW_RETRY_BACKOFFS, WORKFLOW_RETRY_MIN_ATTEMPTS, WORKFLOW_RETRY_POLICY_KEYS, WORKFLOW_RETRY_MAX_ATTEMPTS, WORKFLOW_RETRY_ENGINE_KEYS, WORKFLOW_JOB_RESOURCES, WORKFLOW_SIDE_EFFECTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, CORE_DRAINING_CODE, CORE_DRAINING_DEFAULT_RETRY_MS, CORE_DRAINING_MAX_RETRY_MS, VoiceNameSchema, PluginProviderSchema, RealtimeProviderSchema, PluginClassSchema, ModelDescriptorSchema, InferenceModelSchema, PluginModelSchema, RealtimeModelSchema, LuaVoiceModelSchema, TurnDetectionSchema, InterruptionSchema, BuiltinAudioClipSchema, AudioConfigSchema, BackgroundAudioEntrySchema, BackgroundAudioSchema, LuaVoiceConfigInnerSchema, LuaVoiceConfigSchema, LuaVoiceRefSchema, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_RESOLVE_OUTPUT_MAX_BYTES, WORKFLOW_GOAL_JUDGE_SELF, REDACTED_PLACEHOLDER, PROVIDER_MESSAGE_MAX_CHARS, ERROR_MESSAGE_MAX_CHARS, SECRET_LITERAL_PATTERNS, SECRET_NAME, SECRET_PAIR_PATTERNS, GROUP_COUNT, WORKFLOW_SECRET_KEY_RE, WORKFLOW_RESERVED_SECRET_KEYS, SCRUB_INPUT_MAX_CHARS, SCRUB_CUT_BACKOFF_CHARS, WORKFLOW_AUDIT_EVENTS, WORKFLOW_AUDIT_METADATA_MAX_BYTES, INDENT, WRAP_WIDTH, NOUNS, GET_TOOL_NAMES, PREAMBLE, WORKFLOW_APPROVAL_OUTPUT_DECISIONS, WORKFLOW_APPROVAL_OUTPUT_SCHEMA, JSON_FENCE_RE, DEFAULT_ON_AGENT_FEATURES, SUBAGENT_PER_KEY_FLAG_ENV, PER_KEY_FLAG_VALUES;
|
|
1258
1261
|
var init_dist = __esm({
|
|
1259
1262
|
"../shared-types/dist/index.mjs"() {
|
|
1260
1263
|
"use strict";
|
|
@@ -2623,6 +2626,16 @@ This text is who you are for this person. As you learn them, their name, their w
|
|
|
2623
2626
|
__name(workflowOrgSlotKey, "workflowOrgSlotKey");
|
|
2624
2627
|
__name2(workflowOrgSlotKey, "workflowOrgSlotKey");
|
|
2625
2628
|
WORKFLOW_CONNECTION_KEY_RE = /^[a-z][a-z0-9_-]{0,63}$/;
|
|
2629
|
+
WORKFLOW_JOB_MODEL_SOURCE_LABELS = {
|
|
2630
|
+
stamp: "lease stamp",
|
|
2631
|
+
initData: "run input",
|
|
2632
|
+
default: "placeholder default",
|
|
2633
|
+
node: "node.model",
|
|
2634
|
+
env: "platform default",
|
|
2635
|
+
org: "org default"
|
|
2636
|
+
};
|
|
2637
|
+
__name(workflowJobModelSourceLabel, "workflowJobModelSourceLabel");
|
|
2638
|
+
__name2(workflowJobModelSourceLabel, "workflowJobModelSourceLabel");
|
|
2626
2639
|
__name(scheduledTimeKey, "scheduledTimeKey");
|
|
2627
2640
|
__name2(scheduledTimeKey, "scheduledTimeKey");
|
|
2628
2641
|
__name(scheduledWorkflowRunIdForTime, "scheduledWorkflowRunIdForTime");
|
|
@@ -2856,7 +2869,23 @@ This text is who you are for this person. As you learn them, their name, their w
|
|
|
2856
2869
|
* gated and nobody approved it, and conflating the two would make "who approved this run"
|
|
2857
2870
|
* unanswerable for every run of either kind (§H2 "Audit").
|
|
2858
2871
|
*/
|
|
2859
|
-
"workflow.run.autonomy_applied"
|
|
2872
|
+
"workflow.run.autonomy_applied",
|
|
2873
|
+
// --- run budget cap enforcement (Job-tier billing plan D4; BAC-677) ---
|
|
2874
|
+
/**
|
|
2875
|
+
* The audit twin of the `run.budget_exceeded` run event (WJB-B2a): the run overshot its
|
|
2876
|
+
* `budget.maxCredits` on its LAST step and completed anyway, `budget.exceeded: true`. The budget family
|
|
2877
|
+
* already mirrors run events here — `workflow.run.budget_parked` / `workflow.run.budget_raised` are the
|
|
2878
|
+
* twins of `run.budget_parked` / `run.budget_raised` — and an organisation reviewing what it was charged
|
|
2879
|
+
* needs the overshoot in the audit store beside the raise that preceded it, not only in the run's own
|
|
2880
|
+
* event stream.
|
|
2881
|
+
*
|
|
2882
|
+
* Declared with the run event rather than after it because the emitter port
|
|
2883
|
+
* (`WorkflowAuditPort.action`, typed `workflow.run.${string}`) does not check against this tuple: a name
|
|
2884
|
+
* that is NOT declared here is written to the audit store all the same and no compiler says so.
|
|
2885
|
+
* Declaring it is what makes the later emitter checkable. `workflow.run.budget_parked` is likewise
|
|
2886
|
+
* declared and not yet emitted.
|
|
2887
|
+
*/
|
|
2888
|
+
"workflow.run.budget_exceeded"
|
|
2860
2889
|
];
|
|
2861
2890
|
WORKFLOW_AUDIT_METADATA_MAX_BYTES = 4 * 1024;
|
|
2862
2891
|
__name(isWorkflowAuditEvent, "isWorkflowAuditEvent");
|
|
@@ -6494,6 +6523,49 @@ function graphHasJobTierStep(envelopeOrGraph) {
|
|
|
6494
6523
|
const graph = Array.isArray(envelopeOrGraph) ? envelopeOrGraph : env2.definition?.graph ?? [];
|
|
6495
6524
|
return Array.isArray(graph) && graph.some(entryHasJobTier);
|
|
6496
6525
|
}
|
|
6526
|
+
function jobTierSteps(envelopeOrGraph) {
|
|
6527
|
+
const out = [];
|
|
6528
|
+
if (!envelopeOrGraph || typeof envelopeOrGraph !== "object") return out;
|
|
6529
|
+
const env2 = envelopeOrGraph;
|
|
6530
|
+
const graph = Array.isArray(envelopeOrGraph) ? envelopeOrGraph : env2.definition?.graph ?? [];
|
|
6531
|
+
if (!Array.isArray(graph)) return out;
|
|
6532
|
+
for (const entry of graph) collectJobTierSteps(entry, out);
|
|
6533
|
+
return out;
|
|
6534
|
+
}
|
|
6535
|
+
function jobTierStepIds(envelopeOrGraph) {
|
|
6536
|
+
return jobTierSteps(envelopeOrGraph).map((s) => s.stepId);
|
|
6537
|
+
}
|
|
6538
|
+
function collectJobTierSteps(entry, out) {
|
|
6539
|
+
const n2 = armEntry2(entry);
|
|
6540
|
+
if (!n2 || typeof n2 !== "object") return;
|
|
6541
|
+
const node = n2;
|
|
6542
|
+
const ws = node.workspace;
|
|
6543
|
+
if (node.tier === "job" || ws !== void 0 && ws !== "inherit") {
|
|
6544
|
+
const stepId = typeof node.id === "string" && node.id ? node.id : "(unnamed)";
|
|
6545
|
+
const model = typeof node.model === "string" && node.model.trim() ? node.model.trim() : void 0;
|
|
6546
|
+
out.push(model === void 0 ? {
|
|
6547
|
+
stepId
|
|
6548
|
+
} : {
|
|
6549
|
+
stepId,
|
|
6550
|
+
model
|
|
6551
|
+
});
|
|
6552
|
+
}
|
|
6553
|
+
switch (node.type) {
|
|
6554
|
+
case "parallel":
|
|
6555
|
+
if (Array.isArray(node.steps)) for (const s of node.steps) collectJobTierSteps(s, out);
|
|
6556
|
+
return;
|
|
6557
|
+
case "conditional":
|
|
6558
|
+
if (Array.isArray(node.steps)) for (const s of node.steps) collectJobTierSteps(s, out);
|
|
6559
|
+
if (node.otherwise !== void 0) collectJobTierSteps(node.otherwise, out);
|
|
6560
|
+
return;
|
|
6561
|
+
case "foreach":
|
|
6562
|
+
case "loop":
|
|
6563
|
+
collectJobTierSteps(node.step, out);
|
|
6564
|
+
return;
|
|
6565
|
+
default:
|
|
6566
|
+
return;
|
|
6567
|
+
}
|
|
6568
|
+
}
|
|
6497
6569
|
var __defProp4, __name4, WorkflowTemplateError, TEMPLATE_PLACEHOLDER, TEMPLATE_NAMESPACES, MAP_DESCRIPTOR_KEYS, MAP_MEMBER_MALFORMED_CODE, fromInit, fromStep, value, template, fromRequest, rows, fromKnowledge, SideEffectsSchema, JobResourcesSchema, WORKFLOW_MODEL_TEMPLATE_ROOT, WORKFLOW_MODEL_TEMPLATE_RE, PATH_SEGMENT_RE, APPROVER_SPEC_MAX_USERS, ESCALATION_MAX_HOPS, TemplateBindingSchema, ApproverSpecSchema, FourEyesSchema, EscalationHopSchema, TerminalOutcomeSchema, ApprovalOnTimeoutSchema, APPROVER_SPEC_SHAPES, APPROVER_WRITTEN_MAX, USER_ID_SHAPED_RE, BINDING_ROOTS, WORKSPACE_TEMPLATE_EXPR_RE, SLEEP_UNTIL_REPLACEMENT, WORKFLOW_CAPS_DEFAULT, WORKFLOW_STEP_DEFAULT_TIMEOUT_SECONDS, WORKFLOW_AGENT_DEFAULT_TIMEOUT_SECONDS, WORKFLOW_JOB_DEFAULT_TIMEOUT_SECONDS, WORKFLOW_FOREACH_DEFAULT_CONCURRENCY, WORKFLOW_FOREACH_DEFAULT_MAX_ITEMS, WORKFLOW_LOOP_DEFAULT_MAX_ITERATIONS, WORKFLOW_SUSPEND_DEFAULT_TIMEOUT_HOURS, WORKFLOW_SIGNAL_DEFAULT_SOURCES, clone, CONNECTION_ID_HEX_RE, WORKFLOW_JOB_MAX_WORKTREE_ARMS, workspaceOf, mountsWorkspace, isJobTier, jobToolsOf, schemaIsArray, isHitlNode, isSingleStep, singleId, armId, TEMPLATE_STEP_REF, EDITABLE_PATH_RE, PREDICATE_OPS, isPredicateScalar, GRAPH_HASH_PREFIX, WorkflowPlanError, isArmStep, armStepId, armStepKind, joinIdOf, containerIdOf, PATH_PLACEHOLDER, MISSING, stepIdOf, cmp, eq, ne, gt, gte, lt, lte, inSet, notIn, exists, notExists, truthy, falsy, and, or, not, CONTINUED_FAILURE_TAG, CONTINUED_FAILURE_DEFAULT_CODE, CONTINUED_FAILURE_OUTPUT_SCHEMA, CONTINUED_FAILURE_LEAF_PATHS, isHitlNode2, nodeIdOf, GOAL_JUDGE_STEP_ID, NON_LEAF_KINDS, CONDITIONAL_JOIN_ID, branchArmId, canonical, sortKeys, JOIN, entryOfJoin, FORCE_CANCEL_STALE_MS, TERMINAL, WORKFLOW_INLINE_RUN_TAG, RUN_ERROR_ISSUES_MAX, IN_FLIGHT, n, STEP_ERROR_DETAIL_KEYS, STEP_ERROR_DETAIL_MAX_BYTES, DETAIL_MAX_DEPTH, DETAIL_MAX_ITEMS, MAX_HOLIDAYS, MAX_WALK_DAYS, HHMM, YMD, MS_PER_MIN, MS_PER_DAY, MON_FRI, supportedTz, fmtCache, WEEKDAYS, JSON_PATCH_OPS, JSON_PATCH_MAX_OPS, JSON_PATCH_MAX_VALUE_BYTES, JSON_PATCH_MAX_TOTAL_BYTES, SEGMENT_RE, WORKFLOW_SCHEDULE_TYPES, WORKFLOW_SCHEDULE_SHAPE_ISSUE, WORKFLOW_SCHEDULE_SHAPES_HINT, WORKFLOW_SCHEDULE_RUN_AS, isObject, WORKFLOW_ENV_OVERLAY_MAX_KEYS, WORKFLOW_ENV_OVERLAY_MAX_VALUE_BYTES, WORKFLOW_ENV_TEMPLATE_SECRET_KEY_RE, isEnvRef, looksLikeEmbeddedJson, ZERO, isRecord2;
|
|
6498
6570
|
var init_dist2 = __esm({
|
|
6499
6571
|
"../workflow-graph/dist/index.mjs"() {
|
|
@@ -7298,6 +7370,12 @@ var init_dist2 = __esm({
|
|
|
7298
7370
|
__name4(entryHasJobTier, "entryHasJobTier");
|
|
7299
7371
|
__name(graphHasJobTierStep, "graphHasJobTierStep");
|
|
7300
7372
|
__name4(graphHasJobTierStep, "graphHasJobTierStep");
|
|
7373
|
+
__name(jobTierSteps, "jobTierSteps");
|
|
7374
|
+
__name4(jobTierSteps, "jobTierSteps");
|
|
7375
|
+
__name(jobTierStepIds, "jobTierStepIds");
|
|
7376
|
+
__name4(jobTierStepIds, "jobTierStepIds");
|
|
7377
|
+
__name(collectJobTierSteps, "collectJobTierSteps");
|
|
7378
|
+
__name4(collectJobTierSteps, "collectJobTierSteps");
|
|
7301
7379
|
}
|
|
7302
7380
|
});
|
|
7303
7381
|
|