@authorbot/schemas 0.1.38 → 0.1.40
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 +42 -0
- package/dist/decision.d.ts +1 -0
- package/dist/decision.js +2 -0
- package/dist/json-schemas.d.ts +2 -0
- package/dist/primitives.d.ts +5 -4
- package/dist/primitives.js +5 -4
- package/dist/work-item.d.ts +1 -0
- package/dist/work-item.js +1 -0
- package/json/annotation.schema.json +3 -3
- package/json/attribution.schema.json +1 -1
- package/json/chapter.schema.json +1 -1
- package/json/decision.schema.json +4 -0
- package/json/reply.schema.json +1 -1
- package/json/work-item.schema.json +5 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,48 @@ 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.40
|
|
13
|
+
|
|
14
|
+
- **Character details open correctly from hosted and local chapter pages.**
|
|
15
|
+
The 0.1.39 packed publisher could erase Web Awesome's runtime drawer import
|
|
16
|
+
when a book built outside the Authorbot workspace. Character links still
|
|
17
|
+
fetched their detail page, but the unregistered element stayed invisible.
|
|
18
|
+
The drawer now has an explicit runtime registration boundary, a browser
|
|
19
|
+
regression, and a packed-tarball build check that exercises the same
|
|
20
|
+
consumer context used by book CI.
|
|
21
|
+
- The README and publisher architecture docs now state the browser contract
|
|
22
|
+
directly: hosted and local-dev modes include progressive-enhancement
|
|
23
|
+
JavaScript, while an API-less build remains script-free and readable.
|
|
24
|
+
- The mobile header now contains its scrollable navigation at 320px, and
|
|
25
|
+
keyboard-created notes receive focus only after their anchored gutter layout
|
|
26
|
+
is visible.
|
|
27
|
+
- This hotfix adds no D1 or book-format migration.
|
|
28
|
+
|
|
29
|
+
## 0.1.39
|
|
30
|
+
|
|
31
|
+
- **The hosted and local authoring UI now share the dogfooded reading
|
|
32
|
+
experience.** Chapter and summary editing load in place without clearing the
|
|
33
|
+
manuscript, reader controls can hide notes and use the available reading
|
|
34
|
+
width, and character links open full details in a right-side drawer.
|
|
35
|
+
Outline, timeline, and character editing use the same compact controls and
|
|
36
|
+
in-place loading behavior.
|
|
37
|
+
- **Chapter history now reads as a seamless layer over the manuscript.** The
|
|
38
|
+
revision rail stays beside the page, selected revision controls occupy the
|
|
39
|
+
notes column, and word- and sentence-level changes render in the normal
|
|
40
|
+
prose surface with semantic inserted and deleted colors. Revision loading
|
|
41
|
+
preserves the current view until the replacement is ready.
|
|
42
|
+
- **Notes and discussions are denser and more capable.** Anchored comments
|
|
43
|
+
follow the manuscript without covering it, collapsed notes retain the
|
|
44
|
+
author and text, reply and thread promotion create Work with the discussion
|
|
45
|
+
text intact, and editor/comment handoffs preserve selections and unsaved
|
|
46
|
+
input.
|
|
47
|
+
- **The browser UI now uses focused lightweight primitives where they help.**
|
|
48
|
+
Lit owns reader controls, Web Awesome supplies the character drawer, and
|
|
49
|
+
Floating UI positions anchored annotation surfaces; the rest remains
|
|
50
|
+
progressive-enhancement custom elements over static reading HTML.
|
|
51
|
+
- This release adds D1 migration `0014_reply_work_promotion.sql` and no
|
|
52
|
+
book-format migration.
|
|
53
|
+
|
|
12
54
|
## 0.1.38
|
|
13
55
|
|
|
14
56
|
- **Authorbot now has a complete local authoring mode.** `authorbot dev` runs
|
package/dist/decision.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare const decisionSchema: z.ZodObject<{
|
|
|
17
17
|
schema: z.ZodLiteral<"authorbot.decision/v1">;
|
|
18
18
|
id: z.ZodString;
|
|
19
19
|
source_annotation_id: z.ZodString;
|
|
20
|
+
source_reply_id: z.ZodOptional<z.ZodString>;
|
|
20
21
|
rule: z.ZodString;
|
|
21
22
|
rule_version: z.ZodNumber;
|
|
22
23
|
metrics: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
package/dist/decision.js
CHANGED
|
@@ -17,6 +17,8 @@ export const decisionSchema = z.strictObject({
|
|
|
17
17
|
schema: z.literal("authorbot.decision/v1"),
|
|
18
18
|
id: uuidv7Schema,
|
|
19
19
|
source_annotation_id: uuidv7Schema,
|
|
20
|
+
/** Present when this decision promotes one reply, not the whole annotation. */
|
|
21
|
+
source_reply_id: uuidv7Schema.optional(),
|
|
20
22
|
rule: z.string().min(1),
|
|
21
23
|
// `rule_version: 0` is reserved for maintainer force-create decisions
|
|
22
24
|
// (contract §4); rule crossings use versions >= 1.
|
package/dist/json-schemas.d.ts
CHANGED
|
@@ -274,6 +274,7 @@ export declare const artifactSchemas: {
|
|
|
274
274
|
schema: z.ZodLiteral<"authorbot.decision/v1">;
|
|
275
275
|
id: z.ZodString;
|
|
276
276
|
source_annotation_id: z.ZodString;
|
|
277
|
+
source_reply_id: z.ZodOptional<z.ZodString>;
|
|
277
278
|
rule: z.ZodString;
|
|
278
279
|
rule_version: z.ZodNumber;
|
|
279
280
|
metrics: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
@@ -309,6 +310,7 @@ export declare const artifactSchemas: {
|
|
|
309
310
|
cancelled: "cancelled";
|
|
310
311
|
}>;
|
|
311
312
|
source_annotation_id: z.ZodOptional<z.ZodString>;
|
|
313
|
+
source_reply_id: z.ZodOptional<z.ZodString>;
|
|
312
314
|
chapter_id: z.ZodOptional<z.ZodString>;
|
|
313
315
|
base_revision: z.ZodOptional<z.ZodNumber>;
|
|
314
316
|
priority: z.ZodEnum<{
|
package/dist/primitives.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { z } from "zod";
|
|
|
5
5
|
/** Story node / timeline / bible ID kinds (contract section 2). */
|
|
6
6
|
export declare const NODE_KINDS: readonly ["premise", "arc", "part", "chapter", "scene", "beat", "event", "character", "location", "concept", "rule"];
|
|
7
7
|
export type NodeKind = (typeof NODE_KINDS)[number];
|
|
8
|
-
/** Actor reference namespaces (contract section 2). */
|
|
9
|
-
export declare const ACTOR_NAMESPACES: readonly ["github", "agent", "system"];
|
|
8
|
+
/** Actor reference namespaces (contract section 2 plus portable local auth). */
|
|
9
|
+
export declare const ACTOR_NAMESPACES: readonly ["github", "agent", "local", "system"];
|
|
10
10
|
export type ActorNamespace = (typeof ACTOR_NAMESPACES)[number];
|
|
11
11
|
/** Slug source pattern: `[a-z0-9][a-z0-9-]*` (contract section 2). */
|
|
12
12
|
export declare const SLUG_PATTERN = "[a-z0-9][a-z0-9-]*";
|
|
@@ -28,8 +28,9 @@ export declare function nodeIdOf<K extends NodeKind>(kind: K): z.ZodString;
|
|
|
28
28
|
/**
|
|
29
29
|
* Actor reference `<namespace>:<identifier>` (contract section 2).
|
|
30
30
|
* The identifier charset is not pinned by the contract; this package accepts
|
|
31
|
-
* `[A-Za-z0-9][A-Za-z0-9._-]*` (covers GitHub logins, agent names,
|
|
32
|
-
* components) and rejects whitespace, colons,
|
|
31
|
+
* `[A-Za-z0-9][A-Za-z0-9._-]*` (covers GitHub logins, agent names, portable
|
|
32
|
+
* local identities, and system components) and rejects whitespace, colons,
|
|
33
|
+
* and leading punctuation.
|
|
33
34
|
*/
|
|
34
35
|
export declare const actorRefSchema: z.ZodString;
|
|
35
36
|
export type ActorRef = z.infer<typeof actorRefSchema>;
|
package/dist/primitives.js
CHANGED
|
@@ -16,8 +16,8 @@ export const NODE_KINDS = [
|
|
|
16
16
|
"concept",
|
|
17
17
|
"rule",
|
|
18
18
|
];
|
|
19
|
-
/** Actor reference namespaces (contract section 2). */
|
|
20
|
-
export const ACTOR_NAMESPACES = ["github", "agent", "system"];
|
|
19
|
+
/** Actor reference namespaces (contract section 2 plus portable local auth). */
|
|
20
|
+
export const ACTOR_NAMESPACES = ["github", "agent", "local", "system"];
|
|
21
21
|
/** Slug source pattern: `[a-z0-9][a-z0-9-]*` (contract section 2). */
|
|
22
22
|
export const SLUG_PATTERN = "[a-z0-9][a-z0-9-]*";
|
|
23
23
|
/**
|
|
@@ -45,8 +45,9 @@ export function nodeIdOf(kind) {
|
|
|
45
45
|
/**
|
|
46
46
|
* Actor reference `<namespace>:<identifier>` (contract section 2).
|
|
47
47
|
* The identifier charset is not pinned by the contract; this package accepts
|
|
48
|
-
* `[A-Za-z0-9][A-Za-z0-9._-]*` (covers GitHub logins, agent names,
|
|
49
|
-
* components) and rejects whitespace, colons,
|
|
48
|
+
* `[A-Za-z0-9][A-Za-z0-9._-]*` (covers GitHub logins, agent names, portable
|
|
49
|
+
* local identities, and system components) and rejects whitespace, colons,
|
|
50
|
+
* and leading punctuation.
|
|
50
51
|
*/
|
|
51
52
|
export const actorRefSchema = z
|
|
52
53
|
.string()
|
package/dist/work-item.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ export declare const workItemSchema: z.ZodObject<{
|
|
|
61
61
|
cancelled: "cancelled";
|
|
62
62
|
}>;
|
|
63
63
|
source_annotation_id: z.ZodOptional<z.ZodString>;
|
|
64
|
+
source_reply_id: z.ZodOptional<z.ZodString>;
|
|
64
65
|
chapter_id: z.ZodOptional<z.ZodString>;
|
|
65
66
|
base_revision: z.ZodOptional<z.ZodNumber>;
|
|
66
67
|
priority: z.ZodEnum<{
|
package/dist/work-item.js
CHANGED
|
@@ -39,6 +39,7 @@ export const workItemSchema = z.strictObject({
|
|
|
39
39
|
type: workItemTypeSchema,
|
|
40
40
|
status: workItemStatusSchema,
|
|
41
41
|
source_annotation_id: uuidv7Schema.optional(),
|
|
42
|
+
source_reply_id: uuidv7Schema.optional(),
|
|
42
43
|
chapter_id: uuidv7Schema.optional(),
|
|
43
44
|
base_revision: z.number().int().min(1).optional(),
|
|
44
45
|
priority: workItemPrioritySchema,
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"author": {
|
|
33
33
|
"type": "string",
|
|
34
|
-
"pattern": "^(?:github|agent|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
|
|
34
|
+
"pattern": "^(?:github|agent|local|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
|
|
35
35
|
},
|
|
36
36
|
"status": {
|
|
37
37
|
"type": "string",
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
},
|
|
157
157
|
"author": {
|
|
158
158
|
"type": "string",
|
|
159
|
-
"pattern": "^(?:github|agent|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
|
|
159
|
+
"pattern": "^(?:github|agent|local|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
|
|
160
160
|
},
|
|
161
161
|
"status": {
|
|
162
162
|
"type": "string",
|
|
@@ -237,7 +237,7 @@
|
|
|
237
237
|
},
|
|
238
238
|
"author": {
|
|
239
239
|
"type": "string",
|
|
240
|
-
"pattern": "^(?:github|agent|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
|
|
240
|
+
"pattern": "^(?:github|agent|local|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
|
|
241
241
|
},
|
|
242
242
|
"status": {
|
|
243
243
|
"type": "string",
|
package/json/chapter.schema.json
CHANGED
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
"type": "string",
|
|
16
16
|
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
|
|
17
17
|
},
|
|
18
|
+
"source_reply_id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
|
|
21
|
+
},
|
|
18
22
|
"rule": {
|
|
19
23
|
"type": "string",
|
|
20
24
|
"minLength": 1
|
package/json/reply.schema.json
CHANGED
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
"type": "string",
|
|
40
40
|
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
|
|
41
41
|
},
|
|
42
|
+
"source_reply_id": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
|
|
45
|
+
},
|
|
42
46
|
"chapter_id": {
|
|
43
47
|
"type": "string",
|
|
44
48
|
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
|
|
@@ -58,7 +62,7 @@
|
|
|
58
62
|
},
|
|
59
63
|
"created_by": {
|
|
60
64
|
"type": "string",
|
|
61
|
-
"pattern": "^(?:github|agent|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
|
|
65
|
+
"pattern": "^(?:github|agent|local|system):[A-Za-z0-9][A-Za-z0-9._-]*$"
|
|
62
66
|
},
|
|
63
67
|
"created_at": {
|
|
64
68
|
"type": "string",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@authorbot/schemas",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.40",
|
|
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",
|