@crvouga/mockingbird-service-plane 3.0.0 → 3.2.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.
- package/CHANGELOG.md +16 -4
- package/DISCOVERY.md +2 -2
- package/README.md +8 -8
- package/SUPPORT.md +2 -2
- package/dist/{chunk-MGWKBOJY.js → chunk-3D7R2RA7.js} +260 -172
- package/dist/chunk-3D7R2RA7.js.map +7 -0
- package/dist/{chunk-KO4DMNLK.js → chunk-4G57X33P.js} +8 -6
- package/dist/chunk-4G57X33P.js.map +7 -0
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +84 -69
- package/dist/index.js +1 -1
- package/dist/server.d.ts +129 -96
- package/dist/server.js +2 -2
- package/openapi.yaml +1 -1
- package/package.json +3 -3
- package/dist/chunk-KO4DMNLK.js.map +0 -7
- package/dist/chunk-MGWKBOJY.js.map +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-plane
|
|
2
2
|
|
|
3
|
+
## 3.2.0 (2026-10-09)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- match Emulate provider coverage ([16b65ce](https://github.com/crvouga/mockingbird/commit/16b65ce791fa216f28ec1521df636f57771d9c5e))
|
|
8
|
+
|
|
9
|
+
### Dependencies
|
|
10
|
+
|
|
11
|
+
- `@crvouga/mockingbird-service-sqlite`
|
|
12
|
+
|
|
13
|
+
## 3.1.0 (2026-10-08)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
- redesign emulator experience ([d6038c2](https://github.com/crvouga/mockingbird/commit/d6038c27eebbaa1751f02bc9305002a5b1304779))
|
|
18
|
+
|
|
3
19
|
## 3.0.0 (2026-10-07)
|
|
4
20
|
|
|
5
21
|
### ⚠️ Breaking changes
|
|
@@ -14,10 +30,6 @@
|
|
|
14
30
|
- typecheck the brand gate before builds ([fc36095](https://github.com/crvouga/mockingbird/commit/fc3609514de70ffe3170a5d216fb8a49f9ce7cbb))
|
|
15
31
|
- format the emulates records query ([8698872](https://github.com/crvouga/mockingbird/commit/8698872509d06002be5a8fcdc85d79f8462320c3))
|
|
16
32
|
|
|
17
|
-
### Dependencies
|
|
18
|
-
|
|
19
|
-
- `@crvouga/mockingbird-service-sqlite`
|
|
20
|
-
|
|
21
33
|
## 2.3.0 (2026-10-04)
|
|
22
34
|
|
|
23
35
|
### Features
|
package/DISCOVERY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @crvouga/mockingbird-service-plane discovery
|
|
2
2
|
|
|
3
3
|
This is the installed-package index for coding agents and tooling. All relative links resolve
|
|
4
|
-
inside `node_modules/@crvouga/mockingbird-service-plane/`; no repository checkout is needed to discover the
|
|
4
|
+
inside `node_modules/@crvouga/mockingbird-service-plane/`; no repository checkout is needed to discover the emulator's
|
|
5
5
|
supported surface or documented behavior.
|
|
6
6
|
|
|
7
7
|
## Capability and behavior sources
|
|
@@ -48,7 +48,7 @@ designed for assertions and diagnosis by consuming test suites.
|
|
|
48
48
|
## Report a mismatch or missing capability
|
|
49
49
|
|
|
50
50
|
Follow the [agent reporting contract](https://github.com/crvouga/mockingbird/blob/main/docs/REPORTING_ISSUES.md). Include package version,
|
|
51
|
-
operation/command, a minimal redacted request, actual
|
|
51
|
+
operation/command, a minimal redacted request, actual emulator result, expected oracle result or vendor
|
|
52
52
|
documentation, and whether the mismatch appears in the matrix. Never include keys, tokens,
|
|
53
53
|
customer data, prompts, PHI, card data, or unredacted recordings.
|
|
54
54
|
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @crvouga/mockingbird-service-plane
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Local emulators. Real API contracts. Part of [Mockingbird](https://github.com/crvouga/mockingbird).
|
|
4
4
|
|
|
5
|
-
Stateful
|
|
5
|
+
Stateful emulator of the **Plane** REST API (v1) for test suites, covering what our bug-report
|
|
6
6
|
dedup and resolution jobs call on one project: work items (Plane's cursor-paginated list, get,
|
|
7
7
|
create, patch), comments, links, states and labels, with Plane's rate limit and error shapes.
|
|
8
8
|
Projects are provisioned on first use with Plane's default workflow (Backlog, Todo, In
|
|
@@ -25,7 +25,7 @@ any Fetch server.
|
|
|
25
25
|
## Usage
|
|
26
26
|
|
|
27
27
|
The backend hardcodes `https://api.plane.so` (`plane-http-client.ts`, seam **G-Y1**: make it
|
|
28
|
-
env-driven). Point it at the
|
|
28
|
+
env-driven). Point it at the emulator; `PLANE_ACCESS_TOKEN`, `PLANE_WORKSPACE_SLUG` and
|
|
29
29
|
`PLANE_BUGS_PROJECT_ID` can be any values (the project id must be a UUID, as our config
|
|
30
30
|
validates).
|
|
31
31
|
|
|
@@ -82,7 +82,7 @@ patch. GET returns both `type_id` and `type`, as Plane's
|
|
|
82
82
|
does. Unknown IDs fail with a DRF `type_id` error before any field or sequence number changes.
|
|
83
83
|
Creation inherits a seeded default type; an explicit patch `type_id: null` clears it.
|
|
84
84
|
|
|
85
|
-
Cycle dates use UTC project days and the
|
|
85
|
+
Cycle dates use UTC project days and the emulator clock, following Plane's
|
|
86
86
|
[cycle endpoint](https://github.com/makeplane/plane/blob/c7a5afee6afd15f16038ebda1ec1489ebd8af67d/apps/api/plane/api/views/cycle.py)
|
|
87
87
|
and [date converter](https://github.com/makeplane/plane/blob/c7a5afee6afd15f16038ebda1ec1489ebd8af67d/apps/api/plane/utils/timezone_converter.py):
|
|
88
88
|
future/past starts are 00:00:01, today's start is the creation time, and ends are 23:59:00.
|
|
@@ -101,7 +101,7 @@ throttled. Expected available in N seconds."}` with `x-ratelimit-*` headers.
|
|
|
101
101
|
| `GET /__admin/work-items` | The namespace's work items. |
|
|
102
102
|
| `POST /__admin/projects` | `{workspace, project}`: provision a project now; answers its states and labels. |
|
|
103
103
|
| `POST /__admin/work-item-types` | `{workspace, project, types: [{name, description?, is_default?}]}`: seed project type metadata with stable IDs; repeat calls update metadata and preserve creation time. Types start empty. Invalid batches do not partially write. |
|
|
104
|
-
| `GET/PUT /__admin/settings` | `{apiKeys?, rateLimitPerMinute?: number \| null, projects?: ["<slug>/<uuid>"]}`. `rateLimitPerMinute: 60` reproduces Plane's limit on the
|
|
104
|
+
| `GET/PUT /__admin/settings` | `{apiKeys?, rateLimitPerMinute?: number \| null, projects?: ["<slug>/<uuid>"]}`. `rateLimitPerMinute: 60` reproduces Plane's limit on the emulator clock; `projects` pins which projects exist (others 404). |
|
|
105
105
|
|
|
106
106
|
Fault presets (`POST /__admin/faults {"preset": "<name>", "count"?: n}`): `rate_limited` (429),
|
|
107
107
|
`server_error` (500), `bad_gateway` (502 HTML), `unauthorized` (401), `invalid_json` (200
|
|
@@ -127,13 +127,13 @@ never retried.
|
|
|
127
127
|
|
|
128
128
|
| Export | Kind | Description |
|
|
129
129
|
| --- | --- | --- |
|
|
130
|
-
| `PlaneAPI` | class | The in-process
|
|
131
|
-
| `createRuntime` | function | The
|
|
130
|
+
| `PlaneAPI` | class | The in-process emulator: `fetch(request)`, `reset()`, `ensureProject(slug, id)`, `statesOf(id)`, `labelsOf(id)`, `moveToState(itemId, stateIdOrName)`, `applyPatch(item, patch)`, `workItems()`. Options: `sqlite`, `now`, `namespace`, `settings`. |
|
|
131
|
+
| `createRuntime` | function | The emulator with the full service contract (health, admin, namespaces, credentials, presets). Options: `settings`, `clock`, `seed`, `adminKey`, `onLog`, `sqlite`. |
|
|
132
132
|
| `PLANE_PRESETS` | object | Every named fault preset. |
|
|
133
133
|
| `PLANE_NAMESPACE` | string | The service name, `"plane"`. |
|
|
134
134
|
| `DEFAULT_STATES` | array | The workflow a new project starts with. |
|
|
135
135
|
| `apiKeyCredential` | function | The `X-API-Key` a request carries (how credentials map to namespaces). |
|
|
136
|
-
| `uuidFrom` | function | The deterministic v4-shaped UUID the
|
|
136
|
+
| `uuidFrom` | function | The deterministic v4-shaped UUID the emulator derives from a string. |
|
|
137
137
|
| `document`, `operationIds`, `supportedOperationIds` | values | The OpenAPI contract and its operation ids. |
|
|
138
138
|
| `createServer`, `serveTarget`, `DEFAULT_PORT` (`./server`) | Node | Serve over `node:http`; the `serve` CLI target (`--api-key`, `--rate-limit`); port 8821. |
|
|
139
139
|
|
package/SUPPORT.md
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Generated from `openapi.yaml`; do not edit by hand.
|
|
4
4
|
|
|
5
5
|
- operations in spec: **16**
|
|
6
|
-
- supported by the
|
|
6
|
+
- supported by the emulator: **16**
|
|
7
7
|
- parity enabled: **16**
|
|
8
8
|
|
|
9
|
-
| operationId | route |
|
|
9
|
+
| operationId | route | emulator | parity | notes |
|
|
10
10
|
| --- | --- | --- | --- | --- |
|
|
11
11
|
| `ListWorkItems` | `GET /api/v1/workspaces/{slug}/projects/{project_id}/work-items/` | ✅ supported | ✅ | |
|
|
12
12
|
| `CreateWorkItem` | `POST /api/v1/workspaces/{slug}/projects/{project_id}/work-items/` | ✅ supported | ⚠️ unsafe (opt-in) | |
|