Project class
Lifecycle owner for one .kbproj/ directory. Holds the live
Canonical, persisted ProjectMeta, and three sidecars
(prefs.json / chat.jsonl / history.jsonl).
Properties
- canonical → Canonical
-
final
- chatLog ↔ ChatLog
-
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
- historyLog ↔ HistoryLog
-
getter/setter pair
- meta → ProjectMeta
-
final
- path → String
-
final
- prefs → Prefs
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
close(
) → Future< void> -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
revert(
) → Future< void> - Reload the committed bundle into memory — discards uncommitted edits (and the draft mirror).
-
save(
) → Future< void> -
Commit memory → disk (
<path>/<bundleSubdir>/). UpdateslastSavedAt. -
saveAs(
String newProjectPath) → Future< void> -
Copy the project to
newProjectPathand re-target the live canonical + sidecars at it. The previous path is left untouched on disk. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
newAt(
String projectPath, {String? name}) → Future< Project> -
Create a fresh
.kbproj/atprojectPath. Returns the opened project so callers can immediately edit it. -
openAt(
String projectPath) → Future< Project> -
Open an existing
.kbproj/. Throws ProjectFormatException whenproject.jsonis missing or malformed.