lua-cli 3.32.5 → 3.33.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.
@@ -72,6 +72,11 @@ export declare interface ApprovalOptions {
72
72
  /** default 'continue' (denial is data unless 'fail') */
73
73
  onDeny?: WorkflowApprovalOnDeny;
74
74
  businessHours?: WorkflowBusinessHours;
75
+ /**
76
+ * Optional — inferred `true` from a non-empty `editablePaths` (LUA-808 / LUA-825: the validator's `approvalEditable`
77
+ * rule, applied by the builder too); an explicit `false` beside paths is refused as contradictory. Absent with no
78
+ * paths ⇒ `false` (the approver decides, never edits).
79
+ */
75
80
  editable?: boolean;
76
81
  /** grammar: `drafts`, `drafts[*]`, `drafts[*].body`, `drafts[3].body`, `summary.title` */
77
82
  editablePaths?: string[];
@@ -135,11 +140,16 @@ export declare const exists: (ref: TypedRef<unknown>) => LuaPredicate;
135
140
  export declare const falsy: (ref: TypedRef<unknown>) => LuaPredicate;
136
141
 
137
142
  export declare interface ForeachOptions {
138
- /** Cluster G (B34): PURE builder lowering — emits `{ type:'mapping', id:'<foreachId>_items', mapConfig:{'': items} }` before the foreach entry. */
139
- items?: TypedRef<unknown[]> | {
140
- step: string;
141
- path: string;
142
- } | {
143
+ /**
144
+ * Cluster G (B34): PURE builder lowering — emits `{ type:'mapping', id:'<foreachId>_items', mapConfig:{'': items} }`
145
+ * before the foreach entry. The lowering carries a typed path ref (`init('rows')` / `step(x).path('list')`), an
146
+ * `initData` descriptor (`fromInit('rows')`; `path` optional = the whole input) or a single-step descriptor
147
+ * (`fromStep(x, 'list')`). The slot admits the whole `MapDescriptor` union because that is what every descriptor
148
+ * factory is declared to return (LUA-864) — the members the lowering does not carry (`value` / `template` /
149
+ * `fromRequest` / `rows` / `fromKnowledge`, a fan-in `fromStep([…])`) are `invalid-envelope` at build:
150
+ * `.map({ '': … }, { id })` before the foreach instead.
151
+ */
152
+ items?: TypedRef<unknown[]> | MapDescriptor | {
143
153
  initData: true;
144
154
  path?: string;
145
155
  };
@@ -380,8 +390,16 @@ export declare interface LuaWorkflowConfig {
380
390
  * for how many attempts the run may make.
381
391
  */
382
392
  budget?: Pick<WorkflowDefinitionBudget, 'maxCredits' | 'maxSteps' | 'maxDurationSeconds'>;
383
- /** verbatim LuaJob union (D12) → Job{kind:'workflow'} on publish */
384
- schedule?: JobSchedule;
393
+ /**
394
+ * verbatim LuaJob union (D12) → Job{kind:'workflow'} on publish. `runAs` (LUA-779) governs the copy a
395
+ * marketplace template freezes from this schedule: `'installer'` (the default when absent — every install's
396
+ * fires run as the person who installed, who gets the run card in their inbox) or `'system'` (the frozen copy
397
+ * runs user-less and unwatched — no inbox card for its runs; the install response says so). On this agent the
398
+ * schedule runs as you either way.
399
+ */
400
+ schedule?: JobSchedule & {
401
+ runAs?: 'installer' | 'system';
402
+ };
385
403
  backfillOnEnable?: {
386
404
  maxOccurrences?: number;
387
405
  };
@@ -725,7 +743,7 @@ declare type WorkflowJobHarness_2 = (typeof WORKFLOW_JOB_HARNESSES)[number];
725
743
 
726
744
  declare type WorkflowJobResources = (typeof WORKFLOW_JOB_RESOURCES)[number];
727
745
 
728
- export declare type WorkflowJobToolId = 'shell' | 'read' | 'write' | 'edit' | 'glob' | 'grep' | 'git' | 'gh' | 'fetch';
746
+ export declare type WorkflowJobToolId = 'shell' | 'read' | 'write' | 'edit' | 'glob' | 'grep' | 'git' | 'gh' | 'fetch' | 'ripwire';
729
747
 
730
748
  export declare interface WorkflowMergePolicy {
731
749
  strategy: 'rebase' | 'merge';