@authorbot/schemas 0.1.32 → 0.1.34

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/CHANGELOG.md CHANGED
@@ -9,6 +9,69 @@ Every published package shares this version. A tag builds, tests, and publishes
9
9
  all of them together, so `@authorbot/cli@0.1.15` and `@authorbot/api@0.1.15` are
10
10
  always the same commit.
11
11
 
12
+ ## 0.1.34
13
+
14
+ - **The full editorial workflow is now available from the site.** Editors can
15
+ revise chapters with Milkdown Crepe, edit Outline, Timeline, and Character
16
+ documents in place, submit immutable proposals, and review safe Diff2Html
17
+ diffs. Maintainers can apply their own edit in one action without bypassing
18
+ validation, attribution, Git history, or the deployment pipeline.
19
+ - **Notes and discussion now work as complete chapter collaboration tools.**
20
+ Anchored notes stay in manuscript order, expand with their target, navigate
21
+ with Previous and Next controls, render inline on mobile, and share the
22
+ Milkdown reading surface. Chapter-wide discussion supports replies, comment
23
+ voting, withdrawal, moderation, and one-click promotion to Work.
24
+ - **Work and revision progress remains visible.** Completed Work stays on the
25
+ Work page with attribution and result links. Submitted edits report review,
26
+ apply, repository, build, and deployment state while retaining recoverable
27
+ drafts until the matching commit is live.
28
+ - **Agent permissions are exact and human-equivalent for editorial work.**
29
+ Tokens can independently read and write comments and suggestions, vote,
30
+ reply, work a lease, submit revisions, review proposals, read history, and
31
+ update summaries within their role ceiling. Control-plane authority remains
32
+ human-only. Token event feeds and operation polling now enforce those same
33
+ exact read capabilities instead of exposing unrelated project activity. The
34
+ collaborator skill documents these workflows and exposes a bounded
35
+ story-bible API so agents do not have to probe a deployed site.
36
+ - **Editors load reliably on nested and mobile sites.** Books served from a
37
+ base path keep lazy editor styles under that path. Mobile note forms stay
38
+ reachable beside their manuscript target, and rich Notes rerenders replace
39
+ the existing composer instead of duplicating it.
40
+ - **Chapter context is easier to understand and recover.** Chapter rows show
41
+ open feedback and Work counts, summaries flow into the authenticated and
42
+ published Outline views, contributors link to the accepted revisions that
43
+ credited them, and authorized collaborators can browse, compare, and propose
44
+ restoring earlier chapter versions.
45
+ - This release includes D1 migrations `0010_phase11_capabilities_expand.sql`,
46
+ `0011_phase11_revision_proposals.sql`, and
47
+ `0012_chapter_summaries.sql`. The capability backfill deliberately remains a
48
+ separate later release after this dual-read Worker is deployed. No
49
+ book-format migration is required.
50
+
51
+ ## 0.1.33
52
+
53
+ - **Collaboration state now stays coherent across the whole site.** Account,
54
+ chapter, annotation, reply, vote, Work, operation, and lease state share one
55
+ lazily loaded browser store. Writes update the page immediately, reconcile
56
+ against authoritative responses and events, and roll back honestly when a
57
+ request fails.
58
+ - **New Work claims can recover without persisting lease secrets.** A client
59
+ that loses an in-memory lease token can rotate it through a new
60
+ credential-bound recovery endpoint. Only the exact browser session or agent
61
+ token that made the claim can recover it, and recovery cannot renew or revive
62
+ an expired lease. Claims already live when a book upgrades have no credential
63
+ binding; release and claim them again before relying on recovery.
64
+ - **Live collaboration uses fewer requests and exposes less state.** Concurrent
65
+ reads are coalesced, event streams restart when authorization changes, and
66
+ anonymous or signed-in nonmember event polling receives only explicitly
67
+ reviewed public event types and payload fields.
68
+ - Background synchronization no longer tears down a sign-in form or editor
69
+ while someone is using it. Optimistic voting, replies, notes, drafts, and
70
+ Work actions retain focus and settle against the same shared state.
71
+ - The collaborator skill documents lost-token recovery and safe retry behavior.
72
+ No book-format migration or D1 database migration is required for this
73
+ release.
74
+
12
75
  ## 0.1.32
13
76
 
14
77
  - **Chapter navigation shows the work around each chapter.** Signed-in
@@ -157,7 +157,9 @@ export type Annotation = z.infer<typeof annotationSchema>;
157
157
  * Reply frontmatter `.authorbot/annotations/<id>/replies/<reply-id>.md` -
158
158
  * `authorbot.reply/v1`. The contract pins only the schema ID; fields follow
159
159
  * the Reply entity of design section 9.1 (ID, annotation ID, optional parent
160
- * reply, author, timestamps). The reply body is the Markdown content itself.
160
+ * reply, author, timestamps). `status` is optional for compatibility with
161
+ * artifacts written before reply withdrawal shipped; absence means `open`.
162
+ * The reply body is the Markdown content itself.
161
163
  */
162
164
  export declare const replySchema: z.ZodObject<{
163
165
  schema: z.ZodLiteral<"authorbot.reply/v1">;
@@ -165,6 +167,10 @@ export declare const replySchema: z.ZodObject<{
165
167
  annotation_id: z.ZodString;
166
168
  parent_reply_id: z.ZodOptional<z.ZodString>;
167
169
  author: z.ZodString;
170
+ status: z.ZodOptional<z.ZodEnum<{
171
+ open: "open";
172
+ withdrawn: "withdrawn";
173
+ }>>;
168
174
  created_at: z.ZodString;
169
175
  updated_at: z.ZodOptional<z.ZodString>;
170
176
  }, z.core.$strict>;
@@ -82,7 +82,9 @@ export const annotationSchema = z.discriminatedUnion("scope", [
82
82
  * Reply frontmatter `.authorbot/annotations/<id>/replies/<reply-id>.md` -
83
83
  * `authorbot.reply/v1`. The contract pins only the schema ID; fields follow
84
84
  * the Reply entity of design section 9.1 (ID, annotation ID, optional parent
85
- * reply, author, timestamps). The reply body is the Markdown content itself.
85
+ * reply, author, timestamps). `status` is optional for compatibility with
86
+ * artifacts written before reply withdrawal shipped; absence means `open`.
87
+ * The reply body is the Markdown content itself.
86
88
  */
87
89
  export const replySchema = z.strictObject({
88
90
  schema: z.literal("authorbot.reply/v1"),
@@ -90,6 +92,7 @@ export const replySchema = z.strictObject({
90
92
  annotation_id: uuidv7Schema,
91
93
  parent_reply_id: uuidv7Schema.optional(),
92
94
  author: actorRefSchema,
95
+ status: z.enum(["open", "withdrawn"]).optional(),
93
96
  created_at: timestampSchema,
94
97
  updated_at: timestampSchema.optional(),
95
98
  });
@@ -263,6 +263,10 @@ export declare const artifactSchemas: {
263
263
  annotation_id: z.ZodString;
264
264
  parent_reply_id: z.ZodOptional<z.ZodString>;
265
265
  author: z.ZodString;
266
+ status: z.ZodOptional<z.ZodEnum<{
267
+ open: "open";
268
+ withdrawn: "withdrawn";
269
+ }>>;
266
270
  created_at: z.ZodString;
267
271
  updated_at: z.ZodOptional<z.ZodString>;
268
272
  }, z.core.$strict>;
@@ -23,6 +23,13 @@
23
23
  "type": "string",
24
24
  "pattern": "^(?:github|agent|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
25
25
  },
26
+ "status": {
27
+ "type": "string",
28
+ "enum": [
29
+ "open",
30
+ "withdrawn"
31
+ ]
32
+ },
26
33
  "created_at": {
27
34
  "type": "string",
28
35
  "pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:(?:[0-5]\\d|60)(?:\\.\\d{1,9})?Z$"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authorbot/schemas",
3
- "version": "0.1.32",
3
+ "version": "0.1.34",
4
4
  "description": "Zod v4 schemas, inferred TypeScript types, and generated JSON Schemas for Authorbot book-repository artifacts (Phase 0 contract section 4)",
5
5
  "keywords": [
6
6
  "authorbot",