@authorbot/schemas 0.1.33 → 0.1.35

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,72 @@ 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.35
13
+
14
+ - **Legacy agent-token requests now maintain the canonical projection.** The
15
+ compatibility `{scopes}` request remains legacy-authoritative, but every new
16
+ token also records the exact safe capability translation. Control-plane
17
+ scopes never enter that projection. This dual-write Worker must be deployed
18
+ and verified before the one-shot legacy-row backfill ships in v0.1.36.
19
+ - **The upgrade helper now repairs a stale local toolchain before changing a
20
+ book.** Forward upgrades hand off to the exact target CLI in a throwaway
21
+ install when `node_modules` does not match the repository pin. That target
22
+ aligns the CLI and API packages, regenerates the lockfile, and preserves the
23
+ child exit code and JSON output. Interrupted same-version installs are
24
+ repaired through a normal reviewable pull request, with migration baselines
25
+ accepted only from coherent committed CLI lock evidence. Dry runs regenerate
26
+ and verify the lockfile in a throwaway copy. Windows launches npm, npx, and
27
+ Wrangler through validated JavaScript entry points under the current Node
28
+ executable, without enabling a command shell. Exact `--to` targets require
29
+ no registry metadata lookup; implicit discovery uses npm's configured
30
+ offline cache, registry, userconfig, and authentication. Existing helpers
31
+ from before 0.1.35 still need one explicit
32
+ `npx --yes @authorbot/cli@0.1.35 upgrade --to 0.1.35` launch; ordinary
33
+ `npx authorbot upgrade` self-bootstraps after that.
34
+ - This is a focused capability-writer-gate and upgrade-safety release. It adds
35
+ no D1 or book-format migration. The Phase 3B backfill is reserved for
36
+ v0.1.36 after this Worker is verified; Phase 3C legacy retirement remains a
37
+ deliberately separate later release.
38
+
39
+ ## 0.1.34
40
+
41
+ - **The full editorial workflow is now available from the site.** Editors can
42
+ revise chapters with Milkdown Crepe, edit Outline, Timeline, and Character
43
+ documents in place, submit immutable proposals, and review safe Diff2Html
44
+ diffs. Maintainers can apply their own edit in one action without bypassing
45
+ validation, attribution, Git history, or the deployment pipeline.
46
+ - **Notes and discussion now work as complete chapter collaboration tools.**
47
+ Anchored notes stay in manuscript order, expand with their target, navigate
48
+ with Previous and Next controls, render inline on mobile, and share the
49
+ Milkdown reading surface. Chapter-wide discussion supports replies, comment
50
+ voting, withdrawal, moderation, and one-click promotion to Work.
51
+ - **Work and revision progress remains visible.** Completed Work stays on the
52
+ Work page with attribution and result links. Submitted edits report review,
53
+ apply, repository, build, and deployment state while retaining recoverable
54
+ drafts until the matching commit is live.
55
+ - **Agent permissions are exact and human-equivalent for editorial work.**
56
+ Tokens can independently read and write comments and suggestions, vote,
57
+ reply, work a lease, submit revisions, review proposals, read history, and
58
+ update summaries within their role ceiling. Control-plane authority remains
59
+ human-only. Token event feeds and operation polling now enforce those same
60
+ exact read capabilities instead of exposing unrelated project activity. The
61
+ collaborator skill documents these workflows and exposes a bounded
62
+ story-bible API so agents do not have to probe a deployed site.
63
+ - **Editors load reliably on nested and mobile sites.** Books served from a
64
+ base path keep lazy editor styles under that path. Mobile note forms stay
65
+ reachable beside their manuscript target, and rich Notes rerenders replace
66
+ the existing composer instead of duplicating it.
67
+ - **Chapter context is easier to understand and recover.** Chapter rows show
68
+ open feedback and Work counts, summaries flow into the authenticated and
69
+ published Outline views, contributors link to the accepted revisions that
70
+ credited them, and authorized collaborators can browse, compare, and propose
71
+ restoring earlier chapter versions.
72
+ - This release includes D1 migrations `0010_phase11_capabilities_expand.sql`,
73
+ `0011_phase11_revision_proposals.sql`, and
74
+ `0012_chapter_summaries.sql`. The capability backfill deliberately remains a
75
+ separate later release after this dual-read Worker is deployed. No
76
+ book-format migration is required.
77
+
12
78
  ## 0.1.33
13
79
 
14
80
  - **Collaboration state now stays coherent across the whole site.** Account,
@@ -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.33",
3
+ "version": "0.1.35",
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",