@tenphi/akno-core 0.13.6 → 0.15.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.
Files changed (84) hide show
  1. package/config/default.jsonc +3 -0
  2. package/dist/bench/language.d.ts +10 -10
  3. package/dist/config/load.js +1 -0
  4. package/dist/config/load.js.map +1 -1
  5. package/dist/config/schema.d.ts +9 -1
  6. package/dist/config/schema.d.ts.map +1 -1
  7. package/dist/config/schema.js +4 -0
  8. package/dist/config/schema.js.map +1 -1
  9. package/dist/index/indexer.js +5 -5
  10. package/dist/index/indexer.js.map +1 -1
  11. package/dist/kb/folders.d.ts +5 -0
  12. package/dist/kb/folders.d.ts.map +1 -1
  13. package/dist/kb/folders.js +4 -0
  14. package/dist/kb/folders.js.map +1 -1
  15. package/dist/kb/prose.d.ts +1 -1
  16. package/dist/kb/prose.js +1 -1
  17. package/dist/maintenance/dream.d.ts +2 -0
  18. package/dist/maintenance/dream.d.ts.map +1 -1
  19. package/dist/maintenance/dream.js +25 -1
  20. package/dist/maintenance/dream.js.map +1 -1
  21. package/dist/maintenance/path-policy.d.ts +1 -1
  22. package/dist/maintenance/path-policy.d.ts.map +1 -1
  23. package/dist/maintenance/path-policy.js +6 -0
  24. package/dist/maintenance/path-policy.js.map +1 -1
  25. package/dist/maintenance/plans.d.ts +4 -2
  26. package/dist/maintenance/plans.d.ts.map +1 -1
  27. package/dist/maintenance/plans.js +43 -4
  28. package/dist/maintenance/plans.js.map +1 -1
  29. package/dist/maintenance/profile.d.ts.map +1 -1
  30. package/dist/maintenance/profile.js +3 -0
  31. package/dist/maintenance/profile.js.map +1 -1
  32. package/dist/maintenance/runs.d.ts +1 -0
  33. package/dist/maintenance/runs.d.ts.map +1 -1
  34. package/dist/maintenance/runs.js +1 -0
  35. package/dist/maintenance/runs.js.map +1 -1
  36. package/dist/maintenance/timeline-history.d.ts +61 -0
  37. package/dist/maintenance/timeline-history.d.ts.map +1 -0
  38. package/dist/maintenance/timeline-history.js +464 -0
  39. package/dist/maintenance/timeline-history.js.map +1 -0
  40. package/dist/models/semantic-verdict.d.ts +3 -3
  41. package/dist/ops/answer-source-audit.d.ts +9 -9
  42. package/dist/ops/context.d.ts.map +1 -1
  43. package/dist/ops/context.js +7 -1
  44. package/dist/ops/context.js.map +1 -1
  45. package/dist/ops/list.d.ts.map +1 -1
  46. package/dist/ops/list.js +11 -0
  47. package/dist/ops/list.js.map +1 -1
  48. package/dist/ops/remember.d.ts.map +1 -1
  49. package/dist/ops/remember.js +90 -16
  50. package/dist/ops/remember.js.map +1 -1
  51. package/dist/ops/retain.d.ts.map +1 -1
  52. package/dist/ops/retain.js +29 -3
  53. package/dist/ops/retain.js.map +1 -1
  54. package/dist/ops/timeline.d.ts.map +1 -1
  55. package/dist/ops/timeline.js +101 -30
  56. package/dist/ops/timeline.js.map +1 -1
  57. package/dist/ops/write.d.ts +2 -1
  58. package/dist/ops/write.d.ts.map +1 -1
  59. package/dist/ops/write.js +78 -26
  60. package/dist/ops/write.js.map +1 -1
  61. package/dist/reserved.d.ts +7 -4
  62. package/dist/reserved.d.ts.map +1 -1
  63. package/dist/reserved.js +17 -6
  64. package/dist/reserved.js.map +1 -1
  65. package/dist/timeline/boundaries.d.ts +17 -0
  66. package/dist/timeline/boundaries.d.ts.map +1 -0
  67. package/dist/timeline/boundaries.js +187 -0
  68. package/dist/timeline/boundaries.js.map +1 -0
  69. package/dist/timeline/documents.d.ts +1 -0
  70. package/dist/timeline/documents.d.ts.map +1 -1
  71. package/dist/timeline/documents.js +2 -0
  72. package/dist/timeline/documents.js.map +1 -1
  73. package/dist/timeline/route-event.d.ts +12 -0
  74. package/dist/timeline/route-event.d.ts.map +1 -0
  75. package/dist/timeline/route-event.js +50 -0
  76. package/dist/timeline/route-event.js.map +1 -0
  77. package/dist/write/ledger.d.ts.map +1 -1
  78. package/dist/write/ledger.js +4 -2
  79. package/dist/write/ledger.js.map +1 -1
  80. package/dist/write/retain.d.ts.map +1 -1
  81. package/dist/write/retain.js +2 -1
  82. package/dist/write/retain.js.map +1 -1
  83. package/dist/write/retention-negative-evidence.d.ts +8 -8
  84. package/package.json +2 -2
@@ -1,9 +1,11 @@
1
+ import { timelineCatalog, owningTimeline, selectTimelines, timelineReadable, timelinePlacement, } from "../timeline/boundaries.js";
2
+ import { eventId } from "../store/ids.js";
1
3
  import { RetainedTime, TimelineInput, } from '@tenphi/akno-protocol';
2
4
  import { documentTimelineEvidence } from "../timeline/documents.js";
3
5
  import { classifyRetainedTime, normalizeTimelineRange, resolveTimelineClock, temporalActionable, temporalDistanceFromClock, temporalOverlapsRange, temporalSortValue, temporalSourceKind, } from "../timeline/clock.js";
4
6
  import { expandRetainedRecurrence } from "../timeline/recurrence.js";
5
7
  import { TEMPORAL_PROJECTION_VERSION } from "../timeline/projection.js";
6
- import { quarantineSummary } from "../index/page-quarantine.js";
8
+ import { quarantineDetails } from "../index/page-quarantine.js";
7
9
  /**
8
10
  * One read-time clock over authored events, retained world time, and document date evidence.
9
11
  * Processing timestamps never enter this result, and clock classifications are never persisted.
@@ -14,7 +16,18 @@ export async function timeline(ctx, rawInput) {
14
16
  const range = normalizeTimelineRange(input.since, input.until);
15
17
  const limit = input.limit ?? 100;
16
18
  const degraded = new Set();
17
- const sourceConflict = quarantineSummary(ctx.store).candidates > 0;
19
+ const catalog = timelineCatalog(ctx.config, ctx.store);
20
+ const selected = selectTimelines(catalog, input.timeline);
21
+ const selectedSlugs = new Set(selected.map((entry) => entry.slug));
22
+ const accepts = (source) => {
23
+ const owner = owningTimeline(catalog, source);
24
+ return selectedSlugs.has(owner.slug) && timelineReadable(owner);
25
+ };
26
+ const boundaryUnavailable = selected.some((entry) => !timelineReadable(entry));
27
+ if (boundaryUnavailable)
28
+ degraded.add('timeline_boundary_unavailable');
29
+ const sourceConflict = selected.some((entry) => entry.status === 'quarantined') ||
30
+ quarantineDetails(ctx.store).some((entry) => selectedSlugs.has(owningTimeline(catalog, entry.relPath).slug));
18
31
  if (sourceConflict)
19
32
  degraded.add('source_conflict');
20
33
  let recurrenceLimited = false;
@@ -28,7 +41,7 @@ export async function timeline(ctx, rawInput) {
28
41
  input.source === 'both' ||
29
42
  input.source === 'document' ||
30
43
  input.source === 'document_evidence';
31
- const authored = includeAuthored ? authoredEvents(ctx, clock) : [];
44
+ const authored = includeAuthored ? authoredEvents(ctx, clock, accepts) : [];
32
45
  const needsTemporalProjection = input.source !== 'document' && input.source !== 'document_evidence';
33
46
  const projectionAvailable = tableExists(ctx, 'temporal_entries') && tableExists(ctx, 'temporal_projection_issues');
34
47
  const projectionCurrent = projectionAvailable && ctx.store.meta('temporal_projection_version') === TEMPORAL_PROJECTION_VERSION;
@@ -37,10 +50,12 @@ export async function timeline(ctx, rawInput) {
37
50
  degraded.add('partial_temporal_index');
38
51
  }
39
52
  if (needsTemporalProjection && projectionAvailable) {
40
- temporalIssueCount = count(ctx, 'SELECT count(*) AS c FROM temporal_projection_issues');
53
+ temporalIssueCount = ctx.store.db
54
+ .prepare('SELECT page.slug FROM temporal_projection_issues issue JOIN pages page ON page.id = issue.source_page')
55
+ .all().filter((entry) => accepts(entry.slug)).length;
41
56
  if (temporalIssueCount > 0)
42
57
  degraded.add('partial_temporal_index');
43
- const expanded = retainedMemories(ctx, clock, range, limit);
58
+ const expanded = retainedMemories(ctx, clock, range, limit, accepts);
44
59
  retained = expanded.results;
45
60
  recurrenceLimited = expanded.limited;
46
61
  if (expanded.invalid > 0) {
@@ -57,9 +72,19 @@ export async function timeline(ctx, rawInput) {
57
72
  ...(input.match ? { match: input.match } : {}),
58
73
  ...(input.subject ? { subject: input.subject } : {}),
59
74
  clock,
75
+ accepts,
60
76
  })
61
77
  : [];
78
+ const seenEvents = new Set();
62
79
  const matching = [...authored, ...retained, ...documents]
80
+ .map((entry) => ({
81
+ ...entry,
82
+ ...timelinePlacement(catalog, entry.type === 'event' ? entry.source : entry.type === 'memory' ? entry.slug : entry.path, entry.type === 'document_evidence'
83
+ ? 'document_path'
84
+ : entry.type === 'event' && catalog.some((item) => item.slug === entry.source)
85
+ ? 'ledger'
86
+ : 'source_page'),
87
+ }))
63
88
  .filter((entry) => temporalOverlapsRange(timeFor(entry), range, clock.timezone))
64
89
  .filter((entry) => matchesSource(entry, input.source))
65
90
  .filter((entry) => matchesSubject(entry, input.subject))
@@ -69,7 +94,18 @@ export async function timeline(ctx, rawInput) {
69
94
  .filter((entry) => !input.temporal_status ||
70
95
  (entry.temporal_status !== 'evidence' && entry.temporal_status === input.temporal_status))
71
96
  .filter((entry) => !input.disposition || entry.disposition === input.disposition)
72
- .filter((entry) => input.view !== 'actionable' || entry.actionable);
97
+ .filter((entry) => input.view !== 'actionable' || entry.actionable)
98
+ .sort((left, right) => Number(right.timeline_basis === 'ledger') - Number(left.timeline_basis === 'ledger') ||
99
+ left.id.localeCompare(right.id))
100
+ .filter((entry) => {
101
+ if (entry.type !== 'event')
102
+ return true;
103
+ const key = `${entry.timeline}:${eventId(entry.date, entry.slug, entry.summary)}`;
104
+ if (seenEvents.has(key))
105
+ return false;
106
+ seenEvents.add(key);
107
+ return true;
108
+ });
73
109
  matching.sort(resultOrder(input.order ?? 'newest', clock));
74
110
  const results = matching.slice(0, limit);
75
111
  const documentStates = results
@@ -81,32 +117,67 @@ export async function timeline(ctx, rawInput) {
81
117
  const unavailableDocumentsOnly = results.length > 0 &&
82
118
  results.every((result) => result.type === 'document_evidence' && result.availability.status === 'unavailable');
83
119
  const temporalOnlyRequested = input.source === 'state' || input.source === 'plan' || input.source === 'deadline';
84
- const status = temporalOnlyRequested && !projectionAvailable
120
+ const status = selected.every((entry) => !timelineReadable(entry))
85
121
  ? 'unavailable'
86
- : unavailableDocumentsOnly
122
+ : temporalOnlyRequested && !projectionAvailable
87
123
  ? 'unavailable'
88
- : degraded.size > 0
89
- ? 'degraded'
90
- : results.length === 0
91
- ? 'empty'
92
- : 'ok';
124
+ : unavailableDocumentsOnly
125
+ ? 'unavailable'
126
+ : degraded.size > 0
127
+ ? 'degraded'
128
+ : results.length === 0
129
+ ? 'empty'
130
+ : 'ok';
131
+ const migration = input.migration_preview
132
+ ? matching.flatMap((entry) => {
133
+ if (entry.type !== 'event' || !entry.line || !catalog.some((item) => item.slug === entry.source))
134
+ return [];
135
+ const target = entry.slug
136
+ ? ctx.store.db.prepare('SELECT slug FROM pages WHERE slug = ?').get(entry.slug)
137
+ : null;
138
+ const suggestion = target && entry.slug ? owningTimeline(catalog, entry.slug).slug : null;
139
+ if (suggestion === entry.timeline)
140
+ return [];
141
+ return [
142
+ {
143
+ source: entry.source,
144
+ line: entry.line,
145
+ date: entry.date,
146
+ summary: entry.summary,
147
+ timeline: entry.timeline,
148
+ suggested_timeline: suggestion,
149
+ reason: suggestion
150
+ ? 'cross_timeline_link'
151
+ : entry.slug
152
+ ? 'unresolved_target'
153
+ : 'unlinked_event',
154
+ },
155
+ ];
156
+ })
157
+ : undefined;
93
158
  return {
94
159
  status,
95
160
  ...(degraded.size > 0 ? { degraded: [...degraded] } : {}),
96
161
  ...(status !== 'ok' && status !== 'empty'
97
162
  ? {
98
- note: timelineNote({
99
- projectionAvailable,
100
- projectionCurrent,
101
- temporalIssueCount,
102
- recurrenceLimited,
103
- hasMissingDocument,
104
- unavailableDocumentsOnly,
105
- sourceConflict,
106
- }),
163
+ note: (boundaryUnavailable
164
+ ? 'a selected timeline boundary is unavailable; inspect list({kind: "timelines"}); '
165
+ : '') +
166
+ timelineNote({
167
+ projectionAvailable,
168
+ projectionCurrent,
169
+ temporalIssueCount,
170
+ recurrenceLimited,
171
+ hasMissingDocument,
172
+ unavailableDocumentsOnly,
173
+ sourceConflict,
174
+ }),
107
175
  }
108
176
  : {}),
109
177
  results,
178
+ selected_timelines: selected.map((entry) => entry.slug),
179
+ timelines: selected,
180
+ ...(migration ? { migration: migration.slice(0, limit), migration_total: migration.length } : {}),
110
181
  total: matching.length,
111
182
  ...(recurrenceLimited ? { truncated: true } : {}),
112
183
  range,
@@ -119,12 +190,14 @@ export async function timeline(ctx, rawInput) {
119
190
  },
120
191
  };
121
192
  }
122
- function authoredEvents(ctx, clock) {
193
+ function authoredEvents(ctx, clock, accepts) {
123
194
  const rows = ctx.store.db
124
195
  .prepare(`SELECT e.id, e.date, e.summary, e.target_slug, e.source_slug, e.line
125
196
  FROM events e`)
126
197
  .all();
127
- return rows.map((row) => {
198
+ return rows
199
+ .filter((row) => accepts(row.source_slug))
200
+ .map((row) => {
128
201
  const time = {
129
202
  start: row.date,
130
203
  until: row.date,
@@ -155,18 +228,19 @@ function authoredEvents(ctx, clock) {
155
228
  };
156
229
  });
157
230
  }
158
- function retainedMemories(ctx, clock, range, maxOccurrences) {
159
- const rows = ctx.store.db
231
+ function retainedMemories(ctx, clock, range, maxOccurrences, accepts) {
232
+ const allRows = ctx.store.db
160
233
  .prepare(`SELECT memory_id, source_slug, line, summary, kind, subject, relation,
161
234
  temporal_status, disposition, precision, start, until, timezone,
162
235
  mentioned_at, recurrence, evidence
163
236
  FROM temporal_entries`)
164
237
  .all();
238
+ const rows = allRows.filter((row) => accepts(row.source_slug));
165
239
  const results = [];
166
240
  let limited = false;
167
241
  let invalid = 0;
168
242
  let expandedOccurrences = 0;
169
- const duplicateIds = new Set([...countValues(rows.map((row) => row.memory_id)).entries()]
243
+ const duplicateIds = new Set([...countValues(allRows.map((row) => row.memory_id)).entries()]
170
244
  .filter(([, occurrences]) => occurrences > 1)
171
245
  .map(([memoryId]) => memoryId));
172
246
  for (const row of rows) {
@@ -343,9 +417,6 @@ function tableExists(ctx, name) {
343
417
  .get(name);
344
418
  return row?.present === 1;
345
419
  }
346
- function count(ctx, sql) {
347
- return ctx.store.db.prepare(sql).get().c;
348
- }
349
420
  function timelineNote(options) {
350
421
  const notes = [];
351
422
  if (!options.projectionAvailable)
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/ops/timeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/ops/timeline.ts"],"names":[],"mappings":"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"}
@@ -46,9 +46,10 @@ export declare function appendToLedger(ctx: AknoContext, event: {
46
46
  date: string;
47
47
  summary: string;
48
48
  slug?: string;
49
- }): Promise<{
49
+ }, timeline?: string): Promise<{
50
50
  file: ChangeFile | null;
51
51
  line: number;
52
+ slug: string;
52
53
  }>;
53
54
  export declare function titleFromSlug(slug: string): string;
54
55
  export declare function normalizeSlug(raw: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/ops/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,WAAW,EAAoB,MAAM,uBAAuB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,OAAO,EAAa,KAAK,QAAQ,EAAmB,MAAM,kBAAkB,CAAC;AAI7E,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAWjE;;;;;;;;;;GAUG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAgPrF;AAiDD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,6EAA6E;IAC7E,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAC/B,GAAG,OAAO,CAIV;AAuDD,wBAAsB,cAAc,CAClC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBpD;AAoHD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0CjD"}
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/ops/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,WAAW,EAAoB,MAAM,uBAAuB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,OAAO,EAAa,KAAK,QAAQ,EAAmB,MAAM,kBAAkB,CAAC;AAI7E,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYjE;;;;;;;;;;GAUG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAqSrF;AAiDD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,6EAA6E;IAC7E,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAC/B,GAAG,OAAO,CAIV;AAwDD,wBAAsB,cAAc,CAClC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BlE;AAgHD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0CjD"}
package/dist/ops/write.js CHANGED
@@ -11,7 +11,8 @@ import { provenanceLines, recordDocument, storeDocument } from "../ingest/store.
11
11
  import { fileEntry } from "../write/journal.js";
12
12
  import { writeFileAtomic } from "../write/atomic.js";
13
13
  import { beginMutation } from "../write/mutation-receipts.js";
14
- import { ledgerSlug } from "../reserved.js";
14
+ import { isLedgerSlug } from "../reserved.js";
15
+ import { timelineCatalog, timelinePlacement, eventTimeline } from "../timeline/boundaries.js";
15
16
  import { hasInlineMergeConflict, matchesConflictPath, quarantineReasonsForPath, } from "../index/page-quarantine.js";
16
17
  /**
17
18
  * Create, append, patch or replace a page — and the only thing that
@@ -27,15 +28,43 @@ import { hasInlineMergeConflict, matchesConflictPath, quarantineReasonsForPath,
27
28
  export async function write(ctx, rawInput) {
28
29
  const input = WriteInput.parse(rawInput);
29
30
  const actor = ctx.actor;
31
+ const catalog = timelineCatalog(ctx.config, ctx.store);
32
+ const rawOwner = input.slug ?? input.propose_slug;
33
+ const ownerSlug = rawOwner ? normalizeSlug(rawOwner) : undefined;
34
+ if (input.timeline && !input.event)
35
+ throw new AknoError('invalid', 'timeline selection requires an event');
36
+ const selectedTimeline = input.event ? eventTimeline(catalog, ownerSlug, input.timeline) : null;
37
+ if (input.event && !selectedTimeline) {
38
+ return {
39
+ status: 'ok',
40
+ outcome: 'requires_approval',
41
+ hold: { reason: 'timeline_required', timelines: catalog.map((entry) => entry.slug) },
42
+ note: 'choose a timeline or an owning page for this standalone event; nothing was written',
43
+ };
44
+ }
30
45
  // An event with no slug is a real case, not a degenerate one: plenty of things
31
46
  // happen that will never have a page. It goes straight to the ledger.
32
- if (!input.slug && !input.propose_slug && input.event) {
33
- return writeEventOnly(ctx, input.event, input.dry_run ?? false);
47
+ if (input.event &&
48
+ input.content === undefined &&
49
+ input.append === undefined &&
50
+ input.patch === undefined &&
51
+ input.replace === undefined &&
52
+ !input.documents?.length) {
53
+ const target = ownerSlug && !isLedgerSlug(ownerSlug, ctx.config) ? normalizeSlug(ownerSlug) : undefined;
54
+ if (target) {
55
+ const page = ctx.store.db.prepare('SELECT rel_path FROM pages WHERE slug = ?').get(target);
56
+ if (!page)
57
+ throw new AknoError('not_found', 'the event detail page must exist or be supplied with content');
58
+ assertMarkdownDestinationWritable(ctx, page.rel_path, `page '${target}'`);
59
+ }
60
+ return writeEventOnly(ctx, { ...input.event, ...(target ? { slug: target } : {}) }, input.dry_run ?? false, selectedTimeline.slug);
34
61
  }
35
- const slug = normalizeSlug(input.slug ?? input.propose_slug);
62
+ if (!ownerSlug)
63
+ throw new AknoError('invalid', 'a page body or attachments require an owning page slug');
64
+ const slug = ownerSlug;
36
65
  if (refusesLedgerProse({
37
66
  slug,
38
- ledger: ledgerSlug(ctx.config),
67
+ ledger: isLedgerSlug(slug, ctx.config) ? slug : '',
39
68
  actor,
40
69
  edit: input.content !== undefined ? 'content' : input.append !== undefined ? 'append' : null,
41
70
  })) {
@@ -51,8 +80,6 @@ export async function write(ctx, rawInput) {
51
80
  reason: 'source_conflict',
52
81
  });
53
82
  }
54
- if (input.event)
55
- assertLedgerWritable(ctx);
56
83
  // ── Gate ────────────────────────────────────────────────────────────────
57
84
  if (!existing) {
58
85
  const decision = ctx.gate.check(slug, actor);
@@ -78,7 +105,7 @@ export async function write(ctx, rawInput) {
78
105
  reason: 'source_conflict',
79
106
  });
80
107
  }
81
- if (edited.content === before) {
108
+ if (edited.content === before && !input.event) {
82
109
  return { status: 'ok', outcome: 'noop', note: 'the page already reads exactly that way' };
83
110
  }
84
111
  // ── Conflict ────────────────────────────────────────────────────────────
@@ -110,9 +137,19 @@ export async function write(ctx, rawInput) {
110
137
  wrote: [
111
138
  {
112
139
  slug,
140
+ ...timelinePlacement(catalog, slug),
113
141
  action: existing ? actionFor(edit) : 'created',
114
142
  ...(edited.firstChangedLine ? { line: edited.firstChangedLine } : {}),
115
143
  },
144
+ ...(selectedTimeline
145
+ ? [
146
+ {
147
+ slug: selectedTimeline.slug,
148
+ action: 'event',
149
+ ...timelinePlacement(catalog, selectedTimeline.slug, 'ledger'),
150
+ },
151
+ ]
152
+ : []),
116
153
  ],
117
154
  note: 'dry run — nothing was written',
118
155
  };
@@ -136,6 +173,7 @@ export async function write(ctx, rawInput) {
136
173
  files.push(fileEntry(result));
137
174
  wrote.push({
138
175
  slug,
176
+ ...timelinePlacement(catalog, slug),
139
177
  action: existing ? actionFor(edit) : 'created',
140
178
  ...(edited.firstChangedLine ? { line: edited.firstChangedLine } : {}),
141
179
  });
@@ -170,12 +208,22 @@ export async function write(ctx, rawInput) {
170
208
  // The ledger line and the page land in one change, so the promise holds:
171
209
  // there is no way to get a ledger line whose detail page was never written.
172
210
  if (input.event) {
173
- const ledger = await appendToLedger(ctx, { ...input.event, slug });
211
+ const ledger = await appendToLedger(ctx, { ...input.event, slug }, selectedTimeline.slug);
174
212
  // No file when the day already has this event: the page part of this change still stands, and
175
213
  // the caller is still told which ledger line the event is on — the existing one.
176
- if (ledger.file)
177
- files.push(ledger.file);
178
- wrote.push({ slug: ledgerSlug(ctx.config), line: ledger.line, action: 'event' });
214
+ if (ledger.file) {
215
+ const prior = files.find((file) => file.relPath === ledger.file.relPath);
216
+ if (prior)
217
+ prior.after = ledger.file.after;
218
+ else
219
+ files.push(ledger.file);
220
+ }
221
+ wrote.push({
222
+ slug: ledger.slug,
223
+ line: ledger.line,
224
+ action: 'event',
225
+ ...timelinePlacement(catalog, ledger.slug, 'ledger'),
226
+ });
179
227
  }
180
228
  const changeId = ctx.journal.record({
181
229
  actor,
@@ -295,17 +343,17 @@ export function refusesLedgerProse(input) {
295
343
  return input.edit === 'append' || input.edit === 'content';
296
344
  }
297
345
  // ─── Event-only write ───────────────────────────────────────────────────────
298
- async function writeEventOnly(ctx, event, dryRun) {
299
- assertLedgerWritable(ctx);
346
+ async function writeEventOnly(ctx, event, dryRun, timeline) {
347
+ const membership = { timeline, timeline_basis: 'ledger' };
300
348
  if (dryRun) {
301
349
  return {
302
350
  status: 'ok',
303
351
  outcome: 'ok',
304
- wrote: [{ slug: ledgerSlug(ctx.config), action: 'event' }],
352
+ wrote: [{ slug: timeline, ...membership, action: 'event' }],
305
353
  note: 'dry run — nothing was written',
306
354
  };
307
355
  }
308
- const ledger = await appendToLedger(ctx, event);
356
+ const ledger = await appendToLedger(ctx, event, timeline);
309
357
  // The day already has this event. Journalling anyway would put a change in `undo --list` that
310
358
  // reverses nothing, and tell the caller something was kept when the ledger is exactly as it was.
311
359
  if (!ledger.file) {
@@ -313,7 +361,7 @@ async function writeEventOnly(ctx, event, dryRun) {
313
361
  status: 'ok',
314
362
  outcome: 'noop',
315
363
  note: 'the ledger already records this event for that date',
316
- wrote: [{ slug: ledgerSlug(ctx.config), line: ledger.line, action: 'event' }],
364
+ wrote: [{ slug: timeline, ...membership, line: ledger.line, action: 'event' }],
317
365
  };
318
366
  }
319
367
  const changeId = ctx.journal.record({
@@ -333,11 +381,14 @@ async function writeEventOnly(ctx, event, dryRun) {
333
381
  change_id: changeId,
334
382
  // Addressable as `timeline:47`, so it obeys the same provenance rule as
335
383
  // everything else — the ledger is a page like any other.
336
- wrote: [{ slug: ledgerSlug(ctx.config), line: ledger.line, action: 'event' }],
384
+ wrote: [{ slug: timeline, ...membership, line: ledger.line, action: 'event' }],
337
385
  };
338
386
  }
339
- export async function appendToLedger(ctx, event) {
340
- const relPath = ctx.config.paths.timeline;
387
+ export async function appendToLedger(ctx, event, timeline) {
388
+ const selected = eventTimeline(timelineCatalog(ctx.config, ctx.store), event.slug, timeline);
389
+ if (!selected)
390
+ throw new AknoError('invalid', 'standalone event needs an explicit timeline');
391
+ const relPath = selected.path;
341
392
  assertMarkdownDestinationWritable(ctx, relPath, 'the timeline');
342
393
  const absPath = path.join(ctx.config.aknoPath, relPath);
343
394
  let current;
@@ -347,20 +398,21 @@ export async function appendToLedger(ctx, event) {
347
398
  catch (err) {
348
399
  if (err.code !== 'ENOENT')
349
400
  throw err;
350
- current = newLedger(event.date.slice(0, 4));
401
+ current = '';
351
402
  }
403
+ // Initialize only at the admitted write boundary; the journal still captures the
404
+ // original empty file (including whitespace) for exact undo.
405
+ if (current.trim().length === 0)
406
+ current = newLedger(event.date.slice(0, 4));
352
407
  const inserted = insertEvent(current, event);
353
408
  // Nothing to write: the day already has this event, in these words or in others. Rewriting the
354
409
  // file with its own bytes would journal a change that added nothing — `undo --list` would offer
355
410
  // to reverse an event that was never appended, and the caller would be told it had been kept.
356
411
  if (inserted.content === current)
357
- return { file: null, line: inserted.line };
412
+ return { file: null, line: inserted.line, slug: selected.slug };
358
413
  beginMutation(ctx);
359
414
  const result = await writeFileAtomic(ctx.config.aknoPath, relPath, inserted.content);
360
- return { file: fileEntry(result), line: inserted.line };
361
- }
362
- function assertLedgerWritable(ctx) {
363
- assertMarkdownDestinationWritable(ctx, ctx.config.paths.timeline, 'the timeline');
415
+ return { file: fileEntry(result), line: inserted.line, slug: selected.slug };
364
416
  }
365
417
  function assertMarkdownDestinationWritable(ctx, relPath, label) {
366
418
  if (quarantineReasonsForPath(ctx.store, relPath).length > 0 ||
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/ops/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/ops/write.ts"],"names":[],"mappings":"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"}