@inharness-ai/claude4spec 1.0.17 → 1.0.19
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/.claude/skills/c4s-brief-implementer/SKILL.md +11 -0
- package/.claude/skills/c4s-spec-reader/SKILL.md +14 -0
- package/CHANGELOG.md +21 -0
- package/dist/bin/c4s/commands/tagged-list-mixed.js +2 -0
- package/dist/bin/c4s/commands/tagged-list-mixed.js.map +1 -1
- package/dist/client/assets/{arc-BQiqXUIi.js → arc-Y_Y7YYxJ.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-DgK0HmpR.js → architectureDiagram-3BPJPVTR-BvfJSQGS.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-CHntbYfr.js → blockDiagram-GPEHLZMM-0ER_5Ga5.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-ByH5-R2p.js → c4Diagram-AAUBKEIU-CulSeIur.js} +1 -1
- package/dist/client/assets/channel-COuoa9K9.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-C2Pe63Ia.js → chunk-2J33WTMH-BR0UTxIH.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-DYCta62H.js → chunk-4BX2VUAB-C3CE1iTm.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-gq-yg5LH.js → chunk-55IACEB6-WYG0SMCq.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-BwJpqlPp.js → chunk-727SXJPM-CFxvH3KU.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-DCU1hxqb.js → chunk-AQP2D5EJ-CW3tCRq5.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-AG1fd1DO.js → chunk-FMBD7UC4-DhWed3oG.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-913iWZ1l.js → chunk-ND2GUHAM-wKw1Twd3.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-CYtwG8X-.js → chunk-QZHKN3VN-N2YJn9Rv.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BESpN0be.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BESpN0be.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-BZCiM3BB.js → cose-bilkent-S5V4N54A-BwTia-tr.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-Bva3axke.js → dagre-BM42HDAG-qaDS43Ui.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-CMgpd1-D.js → diagram-2AECGRRQ-D_kuEzAN.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-0vLyGdys.js → diagram-5GNKFQAL-BYj6JmFh.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-CvRPei4_.js → diagram-KO2AKTUF-C5GerpKU.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-A058dJvb.js → diagram-LMA3HP47-BCCWR_VJ.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-D5Len-J1.js → diagram-OG6HWLK6-zQ3cOHd6.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-CJjfoOFQ.js → erDiagram-TEJ5UH35-CXGKcFZT.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-B-aXPB6l.js → flowDiagram-I6XJVG4X-CtZxh2DT.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-Bd7aRzsv.js → ganttDiagram-6RSMTGT7-BUdwVJfD.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-Bf4MQEwM.js → gitGraphDiagram-PVQCEYII-DAJUpS0c.js} +1 -1
- package/dist/client/assets/{index-ChqpFwGL.js → index-CSz40CWW.js} +1 -1
- package/dist/client/assets/{index-Dz-yWGMY.js → index-g9hdRfKL.js} +1 -1
- package/dist/client/assets/{index-D3-Iru2G.js → index-nd9N-ch1.js} +183 -186
- package/dist/client/assets/{infoDiagram-5YYISTIA-pELnpzab.js → infoDiagram-5YYISTIA-Dkqaeq-d.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DyTinqcT.js → ishikawaDiagram-YF4QCWOH-BDZbcL20.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-BoV3HJsU.js → journeyDiagram-JHISSGLW-DQ8LraKA.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-CRNS9ORx.js → kanban-definition-UN3LZRKU-CQOW2Mao.js} +1 -1
- package/dist/client/assets/{linear-1ODldQw0.js → linear-B-ZW0b9t.js} +1 -1
- package/dist/client/assets/{mermaid.core-CBl6Zy3k.js → mermaid.core-BdFxxBuE.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-DUACZwtC.js → mindmap-definition-RKZ34NQL-CcsZCub_.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-xQE26BA9.js → pieDiagram-4H26LBE5-DpFgB1Qa.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-C8aORGi5.js → quadrantDiagram-W4KKPZXB-CItGhZSD.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-B9Rw2zEX.js → requirementDiagram-4Y6WPE33-CMfRtv6V.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-TUG1JMRA.js → sankeyDiagram-5OEKKPKP-LUqs9QQq.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-HU7BEi0m.js → sequenceDiagram-3UESZ5HK-BZt_Nz-I.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-BCFJ83ix.js → stateDiagram-AJRCARHV-DDCaA4Lh.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DfEoRDHz.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-CgyzXdkH.js → timeline-definition-PNZ67QCA-Chrt6eh8.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-IghWvoTq.js → vennDiagram-CIIHVFJN-7L-WzZJY.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-DjwjMpZO.js → wardley-L42UT6IY-CTNWz-UZ.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-NxI_0w-J.js → wardleyDiagram-YWT4CUSO-BIhHmbRz.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-nS1fwVNL.js → xychartDiagram-2RQKCTM6-eqxCYjS7.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/db/migrations/039_agent_credential.sql +17 -0
- package/dist/server/db/migrations/040_diagram.sql +17 -0
- package/dist/server/domain/raw-entity-reader.d.ts +1 -1
- package/dist/server/domain/raw-entity-reader.js +5 -1
- package/dist/server/domain/raw-entity-reader.js.map +1 -1
- package/dist/server/entities/diagram/mcp-server.d.ts +10 -0
- package/dist/server/entities/diagram/mcp-server.js +141 -0
- package/dist/server/entities/diagram/mcp-server.js.map +1 -0
- package/dist/server/entities/diagram/plugin.d.ts +3 -0
- package/dist/server/entities/diagram/plugin.js +41 -0
- package/dist/server/entities/diagram/plugin.js.map +1 -0
- package/dist/server/entities/diagram/routes.d.ts +5 -0
- package/dist/server/entities/diagram/routes.js +83 -0
- package/dist/server/entities/diagram/routes.js.map +1 -0
- package/dist/server/entities/diagram/serializer.d.ts +11 -0
- package/dist/server/entities/diagram/serializer.js +147 -0
- package/dist/server/entities/diagram/serializer.js.map +1 -0
- package/dist/server/entities/diagram/services.d.ts +40 -0
- package/dist/server/entities/diagram/services.js +202 -0
- package/dist/server/entities/diagram/services.js.map +1 -0
- package/dist/server/entities/diagram/system-prompt.d.ts +2 -0
- package/dist/server/entities/diagram/system-prompt.js +15 -0
- package/dist/server/entities/diagram/system-prompt.js.map +1 -0
- package/dist/server/entities/diagram/validate.d.ts +9 -0
- package/dist/server/entities/diagram/validate.js +35 -0
- package/dist/server/entities/diagram/validate.js.map +1 -0
- package/dist/server/external-skills/brief-implementer-template.d.ts +1 -1
- package/dist/server/external-skills/brief-implementer-template.js +11 -0
- package/dist/server/external-skills/brief-implementer-template.js.map +1 -1
- package/dist/server/external-skills/spec-reader-template.d.ts +1 -1
- package/dist/server/external-skills/spec-reader-template.js +14 -0
- package/dist/server/external-skills/spec-reader-template.js.map +1 -1
- package/dist/server/mcp/c4s-reader.js +2 -0
- package/dist/server/mcp/c4s-reader.js.map +1 -1
- package/dist/server/routes/agent-credential.d.ts +9 -0
- package/dist/server/routes/agent-credential.js +43 -0
- package/dist/server/routes/agent-credential.js.map +1 -0
- package/dist/server/routes/agent-turn.d.ts +3 -0
- package/dist/server/routes/agent-turn.js +5 -1
- package/dist/server/routes/agent-turn.js.map +1 -1
- package/dist/server/routes/chat.js +12 -0
- package/dist/server/routes/chat.js.map +1 -1
- package/dist/server/routes/threads.js +10 -0
- package/dist/server/routes/threads.js.map +1 -1
- package/dist/server/serialization/registerAll.js +2 -0
- package/dist/server/serialization/registerAll.js.map +1 -1
- package/dist/server/serialization/writer.d.ts +2 -1
- package/dist/server/services/agent-credential-crypto.d.ts +4 -0
- package/dist/server/services/agent-credential-crypto.js +59 -0
- package/dist/server/services/agent-credential-crypto.js.map +1 -0
- package/dist/server/services/agent-credential.d.ts +32 -0
- package/dist/server/services/agent-credential.js +67 -0
- package/dist/server/services/agent-credential.js.map +1 -0
- package/dist/server/services/chat-context.js +5 -15
- package/dist/server/services/chat-context.js.map +1 -1
- package/dist/server/services/chat.js +26 -0
- package/dist/server/services/chat.js.map +1 -1
- package/dist/server/services/entity-indexer.js +4 -0
- package/dist/server/services/entity-indexer.js.map +1 -1
- package/dist/server/services/entity-store.js +9 -1
- package/dist/server/services/entity-store.js.map +1 -1
- package/dist/server/services/entity-writer.d.ts +2 -0
- package/dist/server/services/entity-writer.js +12 -0
- package/dist/server/services/entity-writer.js.map +1 -1
- package/dist/server/services/references.js +10 -0
- package/dist/server/services/references.js.map +1 -1
- package/dist/server/workspace/project-context.js +15 -0
- package/dist/server/workspace/project-context.js.map +1 -1
- package/dist/shared/agent-credential.d.ts +19 -0
- package/dist/shared/agent-credential.js +6 -0
- package/dist/shared/agent-credential.js.map +1 -0
- package/dist/shared/entities.d.ts +49 -1
- package/dist/shared/entities.js.map +1 -1
- package/dist/shared/xml-tags.d.ts +3 -3
- package/dist/shared/xml-tags.js +10 -4
- package/dist/shared/xml-tags.js.map +1 -1
- package/package.json +2 -2
- package/dist/client/assets/channel-6fQ527No.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BJStgCuQ.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BJStgCuQ.js +0 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-WvisYLRe.js +0 -1
|
@@ -59,6 +59,17 @@ Continue the same thread with `c4s ask "..." --thread <threadId>` (the
|
|
|
59
59
|
`threadId` is printed with the answer). This path requires `c4s` installed
|
|
60
60
|
*and* a running `npx claude4spec` server. When either is unavailable, skip it.
|
|
61
61
|
|
|
62
|
+
If `c4s ask` returns `PROJECT_NOT_FOUND` despite a running server, your cwd is
|
|
63
|
+
probably reached through a **symlink** (common for `.claude/skills/<name>`
|
|
64
|
+
projects): `c4s` resolves `process.cwd()` to the real path, which is NOT the one
|
|
65
|
+
registered in `~/.claude4spec/workspaces.json`. Pass the registered (symlink) path
|
|
66
|
+
explicitly — `--project` is run through `path.resolve`, which does NOT canonicalize
|
|
67
|
+
symlinks, so it matches the registry:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
c4s ask "Brief nie precyzuje X — ..." --ct brief --brief <brief-slug>.md --project /abs/path/to/registered/skill-dir
|
|
71
|
+
```
|
|
72
|
+
|
|
62
73
|
**Asynchronous (always available).** If you cannot ask synchronously, proceed
|
|
63
74
|
with your best judgement and file a patch afterwards (step 4) so the
|
|
64
75
|
spec-author can fold the clarification into the next brief.
|
|
@@ -55,3 +55,17 @@ c4s ask "<question>" --ct chat
|
|
|
55
55
|
|
|
56
56
|
Unlike the read-only commands above, `c4s ask` requires a running
|
|
57
57
|
`npx claude4spec` server (it delegates the turn to the server's agent).
|
|
58
|
+
|
|
59
|
+
### `PROJECT_NOT_FOUND` when the project dir is a symlink
|
|
60
|
+
|
|
61
|
+
If `c4s ask` (or any `c4s` command) returns `PROJECT_NOT_FOUND` even though a
|
|
62
|
+
server is running, your cwd is most likely reached through a **symlink** (common
|
|
63
|
+
for `.claude/skills/<name>` that points elsewhere). `c4s` resolves `process.cwd()`
|
|
64
|
+
through the symlink to the real path, which is NOT the path registered in
|
|
65
|
+
`~/.claude4spec/workspaces.json`. Pass the registered (symlink) path explicitly —
|
|
66
|
+
`--project` is run through `path.resolve`, which does NOT canonicalize symlinks, so
|
|
67
|
+
it matches the registry exactly:
|
|
68
|
+
|
|
69
|
+
```sh
|
|
70
|
+
c4s ask "<question>" --ct chat --project /abs/path/to/registered/project-dir
|
|
71
|
+
```
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.19] - 2026-06-17
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Diagram is now a full entity type (the 7th). A mermaid diagram's `source` lives in a `diagram` entity (`.claude4spec/entities/diagram/<slug>.json` + a derived `diagram` SQLite table, migration `040`), and pages reference it with a self-closing `<diagram slug="…" caption="…"/>` tag. `caption` is per-reference prose and is never stored on the entity. The slice mirrors the design-system module: serializer, services, REST routes, a `diagram-tools` MCP server (create/get/update/delete/list), system prompt, and client/server plugins. `source` is validated best-effort via `mermaid.parse()` (warnings only, never blocking). On the client, `<diagram/>` is a self-closing reference: `DiagramView` fetches `source` by slug and renders mermaid, `/diagram` authors source then creates the entity and inserts the reference, and editing PATCHes the entity while the caption stays per-reference.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- The `c4s` spec-reader and brief-implementer skills (and their templates) now document the `c4s ask --project <symlink-path>` workaround for `PROJECT_NOT_FOUND` when the project directory is reached through a symlink.
|
|
15
|
+
|
|
16
|
+
### Removed
|
|
17
|
+
- Retired the inline content-bearing diagram block (`<diagram>…DSL…</diagram>`) along with the dead `xml_block_content` parser rule and the `diagram-source-escape` shared module, in favor of the entity-backed reference.
|
|
18
|
+
|
|
19
|
+
## [1.0.18] - 2026-06-16
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- User-supplied ANTHROPIC API key management — a new `agent_credential` table stores the user's API key encrypted at-rest, with `GET`/`PUT`/`DELETE` `/api/agent/credentials` endpoints that never return the key in plaintext. The `AgentSection` component lets users enter and manage their key with success/error feedback, and `ChatService` injects the key into the environment for agent turns so users can run chat on their own credentials.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- Bumped `@inharness-ai/agent-adapters` to 0.8.1.
|
|
26
|
+
|
|
8
27
|
## [1.0.17] - 2026-06-14
|
|
9
28
|
|
|
10
29
|
### Added
|
|
@@ -185,6 +204,8 @@ Initial public release.
|
|
|
185
204
|
- Acceptance Criteria entity and tooling.
|
|
186
205
|
- Briefs and patches workflow for spec-driven implementation.
|
|
187
206
|
|
|
207
|
+
[1.0.19]: https://github.com/InHarness/claude4spec/compare/v1.0.18...v1.0.19
|
|
208
|
+
[1.0.18]: https://github.com/InHarness/claude4spec/compare/v1.0.17...v1.0.18
|
|
188
209
|
[1.0.17]: https://github.com/InHarness/claude4spec/compare/v1.0.16...v1.0.17
|
|
189
210
|
[1.0.16]: https://github.com/InHarness/claude4spec/compare/v1.0.15...v1.0.16
|
|
190
211
|
[1.0.15]: https://github.com/InHarness/claude4spec/compare/v1.0.14...v1.0.15
|
|
@@ -19,6 +19,7 @@ export function runTaggedListMixed(args) {
|
|
|
19
19
|
'ui-views': [],
|
|
20
20
|
acs: [],
|
|
21
21
|
'design-systems': [],
|
|
22
|
+
diagrams: [],
|
|
22
23
|
};
|
|
23
24
|
const bucket = {
|
|
24
25
|
endpoint: 'endpoints',
|
|
@@ -27,6 +28,7 @@ export function runTaggedListMixed(args) {
|
|
|
27
28
|
'ui-view': 'ui-views',
|
|
28
29
|
ac: 'acs',
|
|
29
30
|
'design-system': 'design-systems',
|
|
31
|
+
diagram: 'diagrams',
|
|
30
32
|
};
|
|
31
33
|
for (const entity of entities) {
|
|
32
34
|
const result = ctx.registry.serializeEntity(entity.type, 'tagged_list_item', entity, ctx.reader);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagged-list-mixed.js","sourceRoot":"","sources":["../../../../src/bin/c4s/commands/tagged-list-mixed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC;IACzD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,wCAAwC,SAAS,GAAG,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAA8B;YACzC,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE,EAAE;YACrB,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,gBAAgB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"tagged-list-mixed.js","sourceRoot":"","sources":["../../../../src/bin/c4s/commands/tagged-list-mixed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC;IACzD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,wCAAwC,SAAS,GAAG,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAA8B;YACzC,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE,EAAE;YACrB,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,gBAAgB,EAAE,EAAE;YACpB,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,MAAM,MAAM,GAAgD;YAC1D,QAAQ,EAAE,WAAW;YACrB,GAAG,EAAE,MAAM;YACX,gBAAgB,EAAE,iBAAiB;YACnC,SAAS,EAAE,UAAU;YACrB,EAAE,EAAE,KAAK;YACT,eAAe,EAAE,gBAAgB;YACjC,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,CACzC,MAAM,CAAC,IAAI,EACX,kBAAkB,EAClB,MAAM,EACN,GAAG,CAAC,MAAM,CACX,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a0 as ln,a1 as an,a2 as H,a3 as q,a4 as B,a5 as un,a6 as y,a7 as tn,a8 as L,a9 as _,aa as rn,ab as o,ac as on,ad as sn,ae as fn}from"./mermaid.core-
|
|
1
|
+
import{a0 as ln,a1 as an,a2 as H,a3 as q,a4 as B,a5 as un,a6 as y,a7 as tn,a8 as L,a9 as _,aa as rn,ab as o,ac as on,ad as sn,ae as fn}from"./mermaid.core-BdFxxBuE.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(on(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,F=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<an)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(fn((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|