Skip to content

Documentation


Documentation / @kizami/engine / EngineInput

Interface: EngineInput

Defined in: types.ts:196

Properties

allowances?

optional allowances?: AllowanceTimelineSpan[]

Defined in: types.ts:220

手当定義(effective-dated)。省略・空配列なら手当算出は行わず、全日の DailyBreakdown.allowances は空配列、EngineOutput.allowanceTotals も空配列になる (省略可能にしているのは、手当を1件も定義していないテナントで無駄な計算をしないため)。


asOfDate?

optional asOfDate?: string

Defined in: types.ts:239

判定基準日(ローカル日付、通常は「今日」)。指定すると、この日以降(当日を含む)の shift_absence(欠勤の可能性)は出さない — まだ来ていない勤務日や進行中の当日に 「実労働がありません」と警告するのは誤報であり、2026-08-24 の撮影で未来日が全行警告に なる形で表面化した。省略時は従来どおり全日を判定する(締め済み月の再計算など、 期間全体が過去で確定している呼び出し向け)。エンジンは Date.now() を持たない純関数 なので、基準日は呼び出し側が渡す。


autoBreakWaivedDates?

optional autoBreakWaivedDates?: string[]

Defined in: types.ts:214

承認済みの自動控除打ち消し(waiver)日。ここに含まれる日に始まる勤務区間には 自動控除(breakRule の auto/both)を適用しない(docs/design/breaks.md「採る設計」)。 打刻を修正するのではなく独立した申請として扱うため、打刻列とは別にこの配列で渡す。


lawTimeline

lawTimeline: LawTimelineSpan[]

Defined in: types.ts:201

from 昇順。期間初日以前に有効な版を必ず1つ含むこと(@kizami/lawbuildLawTimeline と同じ契約)


paidLeave

paidLeave: PaidLeaveEntry[]

Defined in: types.ts:208

有給取得(所定労働扱いで枠に算入)。 全休は minutes = 所定労働時間、時間単位年休はその取得分数。 同じ日に複数エントリがある場合は合算する(午前2時間+午後1時間など)。


period

period: object

Defined in: types.ts:202

month

month: number

year

year: number


punches

punches: ValidPunch[]

Defined in: types.ts:197


settingsTimeline

settingsTimeline: SettingsSpan[]

Defined in: types.ts:199

from 昇順。期間初日以前に有効な版を必ず1つ含むこと


shifts?

optional shifts?: ShiftDay[]

Defined in: types.ts:230

シフト(monthly_variable の所定、docs/design/shift-work.md 決定事項5)。

契約: period の月内の日だけでなく、変形期間全体(periodStartDay 起点の1ヶ月。 月をまたぐため前後の月の日を含みうる)ぶんを渡すこと。③期間段の時間外判定 (variable.ts)には期間全体の実労働・所定が要るため、punches も同様に期間全体分を 渡す前提になる(period の月範囲外の日は EngineOutput.days には出さないが、 ③の計算には使う)。monthly_variable 以外の労働時間制では無視して構わない。