@dev.fast/whiteboard 0.2.4 → 0.2.5-preview.20261013.109

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 (77) hide show
  1. package/dist/{account-alias-_1_7vROx.js → account-alias-D0hF0sKk.js} +2 -3
  2. package/dist/{agent-cli-BrFqhnzM.js → agent-cli-BBPxwUOd.js} +6 -6
  3. package/dist/agent-cli-YSuhE5X8.js +2 -0
  4. package/dist/{agent-client-B_b1GtUc.js → agent-client-P3J4y8Zn.js} +3 -3
  5. package/dist/{authoring-tools-DvIO906l.js → authoring-tools-D8WXsm_g.js} +11 -10
  6. package/dist/build-info.json +1 -1
  7. package/dist/{cli-gRGxkwc0.js → cli-C0ziP6hg.js} +1 -1
  8. package/dist/{cli-runner-Cjl8h376.js → cli-runner-C1gY-HAI.js} +16 -17
  9. package/dist/cli.js +1 -1
  10. package/dist/{client-BFClfQLO.js → client-DzcSt6pV.js} +63 -13
  11. package/dist/{desktop-discovery-C-Qz54wO.js → desktop-discovery-Ba3dD5Cn.js} +1 -1
  12. package/dist/{headless-host-DcWaxx9P.js → headless-host-BHD_Vg5F.js} +4 -4
  13. package/dist/{local-data-Bm84Xdck.js → local-data-BlERtVm2.js} +281 -75
  14. package/dist/{mcp-BDy9Aybd.js → mcp-t7VN9R3k.js} +4 -4
  15. package/dist/{package-paths-B6-zxvIO.js → package-paths-B9PDoAl6.js} +1 -1
  16. package/dist/{process-error-telemetry-Dzh5a3s_.js → process-error-telemetry-C0swByfp.js} +158 -57
  17. package/dist/{profile-RDEioF8b.js → profile-BsYDBr7t.js} +2 -2
  18. package/dist/profile-j97aRTS7.js +2 -0
  19. package/dist/{review-agent-traces-DNJFYzc8.js → review-home-paths-Y9mYWkCI.js} +2600 -62
  20. package/dist/{review-telemetry-DBy3eVCo.js → review-telemetry-CmM6tCbj.js} +2 -2
  21. package/dist/server/desktop-host.js +35 -46
  22. package/dist/{server-discovery-Dbzn3w6Z.js → server-discovery-ZVi8Ay8J.js} +1 -1
  23. package/dist/sharing/index.d.ts +37 -49
  24. package/dist/sharing/index.js +1 -1
  25. package/dist/{src-CmdiBL20.js → src-DiHP11l3.js} +11 -1
  26. package/dist/{stored-document-migration-BxZWQQjv.js → stored-document-migration-u4L_1VZa.js} +15 -36
  27. package/dist/{tool-failure-DJmTieh5.js → tool-failure-CJHBCHMh.js} +2 -2
  28. package/instructions/scratchpad.md +1 -1
  29. package/package.json +5 -4
  30. package/src/ask/agents.ts +6 -0
  31. package/src/ask/thread-state.ts +17 -1
  32. package/src/ask/thread.ts +116 -22
  33. package/src/ask/threads.ts +8 -2
  34. package/src/error-telemetry.ts +13 -9
  35. package/src/fixtures/blocks/tutorial.json +3 -40
  36. package/src/review-api/README.md +10 -7
  37. package/src/review-api/ask-history.ts +37 -0
  38. package/src/review-api/authoring-tools.ts +8 -5
  39. package/src/review-api/blocks/database_lens.ts +5 -0
  40. package/src/review-api/blocks/tutorial.ts +2 -18
  41. package/src/review-api/comparison-coverage.ts +16 -9
  42. package/src/review-api/component-reference.ts +1 -1
  43. package/src/review-api/document.ts +24 -10
  44. package/src/review-api/http.ts +267 -189
  45. package/src/review-api/local-data.ts +126 -37
  46. package/src/review-api/store-schema.ts +25 -1
  47. package/src/review-api/store.ts +165 -33
  48. package/src/review-api/workspaces.ts +14 -14
  49. package/src/review-api/worktree-events.ts +46 -0
  50. package/src/review-app.ts +1 -1
  51. package/src/review-info.ts +1 -1
  52. package/src/review-stack.ts +2 -2
  53. package/src/server/review-server-core.ts +25 -1
  54. package/src/server/tutorial-service.ts +22 -46
  55. package/src/sharing/export.ts +1 -0
  56. package/src/sharing/import.ts +111 -26
  57. package/tutorial/document.json +27 -86
  58. package/tutorial/lenses.json +10 -0
  59. package/tutorial/runtime-manifest.json +2 -3
  60. package/tutorial/sample-service/src/database/drizzle-orm.d.ts +16 -0
  61. package/tutorial/sample-service/src/database/schema.ts +9 -10
  62. package/tutorial/sample-service/src/inventory/forklift-mood.ts +4 -0
  63. package/tutorial/sample-service/src/inventory/inventory-service.ts +18 -1
  64. package/tutorial/sample-service/src/inventory/warehouse-lore.ts +11 -0
  65. package/tutorial/sample-service/src/orders/order-service.ts +3 -2
  66. package/tutorial/sample-service/src/orders/order.ts +27 -5
  67. package/tutorial/sample-service/src/payments/fraud-vibes.ts +4 -0
  68. package/tutorial/sample-service/src/payments/payment-gateway.ts +19 -2
  69. package/tutorial/sample-service/src/payments/raccoon-ledger.ts +9 -0
  70. package/dist/agent-cli-BR2j-2n5.js +0 -2
  71. package/dist/input-error-OLgB_h31.js +0 -11
  72. package/dist/profile-BQGaX8aX.js +0 -2
  73. package/dist/review-home-paths-6zZH-1c9.js +0 -2560
  74. package/dist/tutorial-trace-DrBvkaeL.js +0 -43
  75. package/src/tutorial-conversation.ts +0 -18
  76. package/tutorial/software-map.json +0 -139
  77. package/tutorial/trace.json +0 -20
@@ -1,43 +0,0 @@
1
- import { r as TUTORIAL_TRACE_SESSION_ID } from "./review-agent-traces-DNJFYzc8.js";
2
- //#region ../trace-core/src/tutorial-trace.ts
3
- function loadTutorialTrace() {
4
- return {
5
- parserVersion: "1",
6
- descriptor: {
7
- sessionId: TUTORIAL_TRACE_SESSION_ID,
8
- harness: "codex",
9
- available: true,
10
- source: null,
11
- subagents: [],
12
- commits: []
13
- },
14
- traceName: null,
15
- cacheStatus: "current",
16
- subagents: [],
17
- trace: {
18
- harness: "codex",
19
- title: "Shared agent chat server — illustrative tutorial session",
20
- startedAt: null,
21
- endedAt: null,
22
- activeMs: null,
23
- userTurns: 1,
24
- toolCalls: 0,
25
- events: [
26
- {
27
- kind: "user",
28
- text: "Right now, each Review window manages its own agent chats, so opening the same thread in another window can show stale messages or start a duplicate session. I think we want to have one shared server / source of truth for all agent chats. Can you move session ownership and message history into the server, and have each window subscribe to updates? Closing a window should not end the conversation. Keep the existing chat UI, and make sure reconnecting shows the messages that arrived while the window was closed."
29
- },
30
- {
31
- kind: "assistant",
32
- markdown: "I'll make the server own each thread's agent session and message history. Windows will read that history and subscribe to new messages, so opening a thread in two windows attaches both to the same conversation."
33
- },
34
- {
35
- kind: "assistant",
36
- markdown: "Closing a window will detach its subscription without stopping the agent session. On reconnect, the window will catch up from the server's stored history before displaying live updates. I'll also check that simultaneous requests to open the same thread cannot create duplicate sessions."
37
- }
38
- ]
39
- }
40
- };
41
- }
42
- //#endregion
43
- export { loadTutorialTrace };
@@ -1,18 +0,0 @@
1
- import { z } from "zod";
2
-
3
- export const tutorialAuthoringConversationSchema = z.strictObject({
4
- version: z.literal(1),
5
- title: z.string().trim().min(1),
6
- messages: z
7
- .array(
8
- z.strictObject({
9
- role: z.enum(["user", "assistant"]),
10
- body: z.string().trim().min(1),
11
- }),
12
- )
13
- .min(2),
14
- });
15
-
16
- export type TutorialAuthoringConversation = z.infer<
17
- typeof tutorialAuthoringConversationSchema
18
- >;
@@ -1,139 +0,0 @@
1
- {
2
- "people": {},
3
- "systems": {
4
- "orderService": {
5
- "label": "Order service",
6
- "description": "Accepts checkout requests, records orders, and completes fulfillment.",
7
- "containers": {
8
- "api": {
9
- "label": "Checkout API",
10
- "description": "Provides the typed checkout entry point.",
11
- "components": {
12
- "checkout": {
13
- "label": "Checkout API",
14
- "description": "Accepts a checkout request and delegates order creation.",
15
- "coverage": {
16
- "files": ["src/api/checkout-api.ts"]
17
- }
18
- }
19
- }
20
- },
21
- "application": {
22
- "label": "Order application",
23
- "description": "Applies the rules for creating an order.",
24
- "components": {
25
- "orders": {
26
- "label": "Order service",
27
- "description": "Calculates the total, reserves stock, charges payment, and creates the order.",
28
- "coverage": {
29
- "files": [
30
- "src/orders/order-service.ts",
31
- "src/orders/order.ts",
32
- "src/inventory/inventory-service.ts",
33
- "src/payments/payment-gateway.ts"
34
- ]
35
- }
36
- }
37
- }
38
- },
39
- "data": {
40
- "label": "Order data",
41
- "description": "Stores orders and defines their persisted shape.",
42
- "components": {
43
- "ordersRepository": {
44
- "label": "Orders repository",
45
- "description": "Persists orders in memory and submits fulfillment jobs.",
46
- "coverage": {
47
- "files": ["src/orders/orders-repository.ts"]
48
- }
49
- },
50
- "ordersDatabase": {
51
- "label": "Orders table",
52
- "description": "Defines the columns in the orders table.",
53
- "coverage": {
54
- "files": ["src/database/schema.ts"]
55
- }
56
- }
57
- }
58
- },
59
- "fulfillment": {
60
- "label": "Fulfillment",
61
- "description": "Queues orders and runs one fulfillment job at a time.",
62
- "components": {
63
- "queue": {
64
- "label": "Fulfillment queue",
65
- "description": "Stores order identifiers until a worker can act.",
66
- "coverage": {
67
- "files": ["src/fulfillment/fulfillment-queue.ts"]
68
- }
69
- },
70
- "worker": {
71
- "label": "Fulfillment worker",
72
- "description": "Loads a queued order, creates its shipment, and marks it fulfilled.",
73
- "coverage": {
74
- "files": ["src/fulfillment/fulfillment-worker.ts"]
75
- }
76
- }
77
- }
78
- },
79
- "shipping": {
80
- "label": "Shipping",
81
- "description": "Creates shipment tracking records.",
82
- "components": {
83
- "gateway": {
84
- "label": "Shipping gateway",
85
- "description": "Creates a shipment for an order.",
86
- "coverage": {
87
- "files": ["src/shipping/shipping-gateway.ts"]
88
- }
89
- }
90
- }
91
- }
92
- }
93
- }
94
- },
95
- "relationships": [
96
- {
97
- "kind": "semantic",
98
- "from": "orderService.api.checkout",
99
- "to": "orderService.application.orders",
100
- "label": "Creates an order"
101
- },
102
- {
103
- "kind": "semantic",
104
- "from": "orderService.application.orders",
105
- "to": "orderService.data.ordersRepository",
106
- "label": "Stores the order"
107
- },
108
- {
109
- "kind": "semantic",
110
- "from": "orderService.data.ordersRepository",
111
- "to": "orderService.data.ordersDatabase",
112
- "label": "Writes an order row"
113
- },
114
- {
115
- "kind": "semantic",
116
- "from": "orderService.data.ordersRepository",
117
- "to": "orderService.fulfillment.queue",
118
- "label": "Enqueues the order"
119
- },
120
- {
121
- "kind": "semantic",
122
- "from": "orderService.fulfillment.queue",
123
- "to": "orderService.fulfillment.worker",
124
- "label": "Dispatches the job"
125
- },
126
- {
127
- "kind": "semantic",
128
- "from": "orderService.fulfillment.worker",
129
- "to": "orderService.shipping.gateway",
130
- "label": "Creates a shipment"
131
- },
132
- {
133
- "kind": "semantic",
134
- "from": "orderService.fulfillment.worker",
135
- "to": "orderService.data.ordersRepository",
136
- "label": "Marks the order fulfilled"
137
- }
138
- ]
139
- }
@@ -1,20 +0,0 @@
1
- {
2
- "label": "Shared agent chat server \u2014 illustrative tutorial session",
3
- "events": [
4
- {
5
- "id": "0",
6
- "role": "user",
7
- "text": "Right now, each Review window manages its own agent chats, so opening the same thread in another window can show stale messages or start a duplicate session. I think we want to have one shared server / source of truth for all agent chats. Can you move session ownership and message history into the server, and have each window subscribe to updates? Closing a window should not end the conversation. Keep the existing chat UI, and make sure reconnecting shows the messages that arrived while the window was closed."
8
- },
9
- {
10
- "id": "1",
11
- "role": "assistant",
12
- "text": "I'll make the server own each thread's agent session and message history. Windows will read that history and subscribe to new messages, so opening a thread in two windows attaches both to the same conversation."
13
- },
14
- {
15
- "id": "2",
16
- "role": "assistant",
17
- "text": "Closing a window will detach its subscription without stopping the agent session. On reconnect, the window will catch up from the server's stored history before displaying live updates. I'll also check that simultaneous requests to open the same thread cannot create duplicate sessions."
18
- }
19
- ]
20
- }