@rasensio/aidlc 1.66.0 → 1.72.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/README.md +2 -1
- package/dist/autopilot/driver.d.ts +35 -2
- package/dist/autopilot/driver.d.ts.map +1 -1
- package/dist/autopilot/driver.js +650 -27
- package/dist/autopilot/driver.js.map +1 -1
- package/dist/autopilot/presets.d.ts.map +1 -1
- package/dist/autopilot/presets.js +5 -0
- package/dist/autopilot/presets.js.map +1 -1
- package/dist/autopilot/result.d.ts +133 -0
- package/dist/autopilot/result.d.ts.map +1 -0
- package/dist/autopilot/result.js +431 -0
- package/dist/autopilot/result.js.map +1 -0
- package/dist/autopilot/run.d.ts +2 -0
- package/dist/autopilot/run.d.ts.map +1 -1
- package/dist/autopilot/run.js +33 -6
- package/dist/autopilot/run.js.map +1 -1
- package/dist/autopilot/state.d.ts +51 -0
- package/dist/autopilot/state.d.ts.map +1 -1
- package/dist/autopilot/state.js.map +1 -1
- package/dist/autopilot/typed.d.ts +98 -0
- package/dist/autopilot/typed.d.ts.map +1 -0
- package/dist/autopilot/typed.js +122 -0
- package/dist/autopilot/typed.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/hook.d.ts +37 -0
- package/dist/commands/hook.d.ts.map +1 -0
- package/dist/commands/hook.js +208 -0
- package/dist/commands/hook.js.map +1 -0
- package/dist/commands/init.d.ts +18 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +66 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/knowledge.d.ts.map +1 -1
- package/dist/commands/knowledge.js +8 -4
- package/dist/commands/knowledge.js.map +1 -1
- package/dist/commands/roadmap.d.ts +20 -3
- package/dist/commands/roadmap.d.ts.map +1 -1
- package/dist/commands/roadmap.js +60 -15
- package/dist/commands/roadmap.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +8 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/compile/adapters/claude-code.d.ts.map +1 -1
- package/dist/compile/adapters/claude-code.js +35 -4
- package/dist/compile/adapters/claude-code.js.map +1 -1
- package/dist/compile/adapters/codex.d.ts +12 -0
- package/dist/compile/adapters/codex.d.ts.map +1 -1
- package/dist/compile/adapters/codex.js +58 -8
- package/dist/compile/adapters/codex.js.map +1 -1
- package/dist/compile/loaders.d.ts.map +1 -1
- package/dist/compile/loaders.js +2 -0
- package/dist/compile/loaders.js.map +1 -1
- package/dist/compile/skill-metadata.d.ts +82 -0
- package/dist/compile/skill-metadata.d.ts.map +1 -0
- package/dist/compile/skill-metadata.js +156 -0
- package/dist/compile/skill-metadata.js.map +1 -0
- package/dist/concurrency/claim-store.d.ts +17 -0
- package/dist/concurrency/claim-store.d.ts.map +1 -1
- package/dist/concurrency/claim-store.js +42 -2
- package/dist/concurrency/claim-store.js.map +1 -1
- package/dist/concurrency/common-dir.d.ts +15 -0
- package/dist/concurrency/common-dir.d.ts.map +1 -1
- package/dist/concurrency/common-dir.js +39 -0
- package/dist/concurrency/common-dir.js.map +1 -1
- package/dist/core/types.d.ts +17 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/cost/hooks/arm.d.ts +9 -1
- package/dist/cost/hooks/arm.d.ts.map +1 -1
- package/dist/cost/hooks/arm.js +16 -2
- package/dist/cost/hooks/arm.js.map +1 -1
- package/dist/cost/providers/codex.d.ts +13 -0
- package/dist/cost/providers/codex.d.ts.map +1 -1
- package/dist/cost/providers/codex.js +74 -2
- package/dist/cost/providers/codex.js.map +1 -1
- package/dist/doctor/migrations/index.d.ts.map +1 -1
- package/dist/doctor/migrations/index.js +5 -0
- package/dist/doctor/migrations/index.js.map +1 -1
- package/dist/doctor/migrations/roadmap-mermaid-graphs.d.ts +22 -0
- package/dist/doctor/migrations/roadmap-mermaid-graphs.d.ts.map +1 -0
- package/dist/doctor/migrations/roadmap-mermaid-graphs.js +74 -0
- package/dist/doctor/migrations/roadmap-mermaid-graphs.js.map +1 -0
- package/dist/hooks/guard.d.ts +41 -0
- package/dist/hooks/guard.d.ts.map +1 -0
- package/dist/hooks/guard.js +108 -0
- package/dist/hooks/guard.js.map +1 -0
- package/dist/hooks/install.d.ts +78 -0
- package/dist/hooks/install.d.ts.map +1 -0
- package/dist/hooks/install.js +207 -0
- package/dist/hooks/install.js.map +1 -0
- package/dist/hooks/lifecycle-context.d.ts +65 -0
- package/dist/hooks/lifecycle-context.d.ts.map +1 -0
- package/dist/hooks/lifecycle-context.js +212 -0
- package/dist/hooks/lifecycle-context.js.map +1 -0
- package/dist/knowledge/engine.d.ts +19 -2
- package/dist/knowledge/engine.d.ts.map +1 -1
- package/dist/knowledge/engine.js +35 -11
- package/dist/knowledge/engine.js.map +1 -1
- package/dist/knowledge/index/knowledge-index.d.ts +28 -2
- package/dist/knowledge/index/knowledge-index.d.ts.map +1 -1
- package/dist/knowledge/index/sqlite-index.d.ts +19 -1
- package/dist/knowledge/index/sqlite-index.d.ts.map +1 -1
- package/dist/knowledge/index/sqlite-index.js +66 -5
- package/dist/knowledge/index/sqlite-index.js.map +1 -1
- package/dist/knowledge/source-fingerprint.d.ts +71 -0
- package/dist/knowledge/source-fingerprint.d.ts.map +1 -0
- package/dist/knowledge/source-fingerprint.js +105 -0
- package/dist/knowledge/source-fingerprint.js.map +1 -0
- package/dist/knowledge/sync.d.ts +12 -1
- package/dist/knowledge/sync.d.ts.map +1 -1
- package/dist/knowledge/sync.js +23 -3
- package/dist/knowledge/sync.js.map +1 -1
- package/dist/knowledge/types.d.ts +10 -1
- package/dist/knowledge/types.d.ts.map +1 -1
- package/dist/knowledge/types.js +10 -1
- package/dist/knowledge/types.js.map +1 -1
- package/dist/menu/roster.d.ts.map +1 -1
- package/dist/menu/roster.js +2 -0
- package/dist/menu/roster.js.map +1 -1
- package/dist/roadmap/graph.d.ts +73 -28
- package/dist/roadmap/graph.d.ts.map +1 -1
- package/dist/roadmap/graph.js +184 -125
- package/dist/roadmap/graph.js.map +1 -1
- package/dist/roadmap/next.d.ts +5 -0
- package/dist/roadmap/next.d.ts.map +1 -1
- package/dist/roadmap/next.js +7 -1
- package/dist/roadmap/next.js.map +1 -1
- package/dist/roadmap/open-browser.d.ts +34 -0
- package/dist/roadmap/open-browser.d.ts.map +1 -0
- package/dist/roadmap/open-browser.js +40 -0
- package/dist/roadmap/open-browser.js.map +1 -0
- package/dist/roadmap/paths.d.ts +5 -1
- package/dist/roadmap/paths.d.ts.map +1 -1
- package/dist/roadmap/paths.js +5 -9
- package/dist/roadmap/paths.js.map +1 -1
- package/dist/roadmap/view-assets.d.ts +18 -0
- package/dist/roadmap/view-assets.d.ts.map +1 -0
- package/dist/roadmap/view-assets.js +301 -0
- package/dist/roadmap/view-assets.js.map +1 -0
- package/dist/roadmap/view-html.d.ts +37 -0
- package/dist/roadmap/view-html.d.ts.map +1 -0
- package/dist/roadmap/view-html.js +317 -0
- package/dist/roadmap/view-html.js.map +1 -0
- package/dist/roadmap/view-model.d.ts +93 -0
- package/dist/roadmap/view-model.d.ts.map +1 -0
- package/dist/roadmap/view-model.js +194 -0
- package/dist/roadmap/view-model.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -251,7 +251,8 @@ Without this file, AIDLC defaults to Micro scope (Implementation + Testing only)
|
|
|
251
251
|
|
|
252
252
|
A compliance pack applies a regime's controls while code is written and reports the
|
|
253
253
|
evidence the lifecycle already produces. Packs are opt-in: with none installed,
|
|
254
|
-
nothing changes.
|
|
254
|
+
nothing changes. Two ship: `soc2` (the SOC 2 Common Criteria) and `iso27001` (ISO/IEC
|
|
255
|
+
27001:2022 Annex A). Install one with `aidlc compliance add <pack>`, and it applies from
|
|
255
256
|
the next phase — advisory by default, so findings are recorded and reported without
|
|
256
257
|
blocking. Set `compliance.enforce: true` in `.aidlc/config.yaml` to make a critical
|
|
257
258
|
control finding block a phase transition.
|
|
@@ -15,8 +15,9 @@
|
|
|
15
15
|
*
|
|
16
16
|
* @module
|
|
17
17
|
*/
|
|
18
|
+
import { type EffectiveRates } from '../cost/rates.js';
|
|
18
19
|
import type { Notice } from './notify.js';
|
|
19
|
-
import type { AutopilotConfig, AutopilotItem, AutopilotPaths, AutopilotState, ItemStep } from './state.js';
|
|
20
|
+
import type { AutopilotConfig, AutopilotItem, AutopilotPaths, AutopilotState, ItemStep, TypedLaunch } from './state.js';
|
|
20
21
|
import { type PausePhase, type Stops } from './stops.js';
|
|
21
22
|
export interface RunResult {
|
|
22
23
|
status: number;
|
|
@@ -70,7 +71,20 @@ export interface DriverCtx {
|
|
|
70
71
|
read(path: string): string | null;
|
|
71
72
|
exists(path: string): boolean;
|
|
72
73
|
write(path: string, text: string): void;
|
|
74
|
+
/**
|
|
75
|
+
* Bytes in `path`; 0 when it does not exist. This and the two below are optional:
|
|
76
|
+
* without them a typed launch has no readable result and is handled as before
|
|
77
|
+
* (autopilot-reads-agent-result/AC-15, AC-32).
|
|
78
|
+
*/
|
|
79
|
+
size?(path: string): number;
|
|
80
|
+
/** At most `max` bytes of `path` from `offset`; empty when unreadable. */
|
|
81
|
+
readRange?(path: string, offset: number, max: number): Buffer;
|
|
82
|
+
append?(path: string, text: string): void;
|
|
73
83
|
};
|
|
84
|
+
/** The effective rate table for the primary checkout. Absent: Codex usage is unpriced (AC-21). */
|
|
85
|
+
rates?(): EffectiveRates;
|
|
86
|
+
/** The model a Codex thread used, read from its rollout; null when it cannot be read (AC-20, AC-21). */
|
|
87
|
+
codexModel?(threadId: string, launchedAt: string): string | null;
|
|
74
88
|
/**
|
|
75
89
|
* Tell a person something needs them or is done. Absent sends nothing: only a
|
|
76
90
|
* background run sets it (autopilot-live-progress/AC-20, AC-23).
|
|
@@ -118,8 +132,27 @@ export declare const LAUNCH_FAILURE_MS = 30000;
|
|
|
118
132
|
* The first line, not `fail`'s last: for an argument error the last is the usage line.
|
|
119
133
|
*/
|
|
120
134
|
export declare function firstOutputLine(text: string): string | null;
|
|
121
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* The reset time of the latest session-limit wait still in force, or null. While there is
|
|
137
|
+
* one, no agent is launched for any item: the limit is the account's, so every launch
|
|
138
|
+
* would hit it (autopilot-reads-agent-result/AC-26).
|
|
139
|
+
*/
|
|
140
|
+
export declare function launchBlocked(state: AutopilotState, now: number): string | null;
|
|
141
|
+
/**
|
|
142
|
+
* The instance's `current_phase` in its worktree, or null when unreadable. Shared with the
|
|
143
|
+
* view. Only a phase-shaped name: the agent writes this file, and the phase reaches park
|
|
144
|
+
* reasons committed to the roadmap (autopilot-reads-agent-result/AC-29).
|
|
145
|
+
*/
|
|
122
146
|
export declare function instancePhase(read: (path: string) => string | null, item: Pick<AutopilotItem, 'name' | 'worktree'>): string | null;
|
|
147
|
+
/**
|
|
148
|
+
* What a Codex launch's summed `turn.completed` usage costs, in micro-USD, priced as the
|
|
149
|
+
* Codex cost provider prices a turn — cached input counted inside input, not on top of
|
|
150
|
+
* it — at the effective rate for its model; null when it cannot be priced
|
|
151
|
+
* (autopilot-reads-agent-result/AC-20, AC-21). The one place the reading of Codex's
|
|
152
|
+
* usage lives: if the release run finds it a running total, this changes and nothing
|
|
153
|
+
* else does (design, Risk 1).
|
|
154
|
+
*/
|
|
155
|
+
export declare function launchUsageMicro(ctx: Pick<DriverCtx, 'rates' | 'codexModel'>, launch: TypedLaunch): number | null;
|
|
123
156
|
/**
|
|
124
157
|
* Return every item whose failure is resumable to the step it failed in, and
|
|
125
158
|
* clear the error. Called when a run starts: asking to run is asking to retry
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/autopilot/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/autopilot/driver.ts"],"names":[],"mappings":"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"}
|