@ryanyahya/opendoc 0.4.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/.agents/skills/opendoc-apply-comments/SKILL.md +30 -0
- package/.agents/skills/opendoc-apply-comments/agents/openai.yaml +4 -0
- package/.agents/skills/opendoc-create/SKILL.md +63 -0
- package/.agents/skills/opendoc-create/agents/openai.yaml +6 -0
- package/.agents/skills/opendoc-create-template/SKILL.md +50 -0
- package/.agents/skills/opendoc-create-template/agents/openai.yaml +4 -0
- package/.agents/skills/opendoc-create-template/references/structured-reports.md +11 -0
- package/.agents/skills/opendoc-create-theme/SKILL.md +40 -0
- package/.agents/skills/opendoc-create-theme/agents/openai.yaml +4 -0
- package/.agents/skills/opendoc-current-document/SKILL.md +32 -0
- package/.agents/skills/opendoc-current-document/agents/openai.yaml +4 -0
- package/.agents/skills/opendoc-current-document/references/context-fields.md +20 -0
- package/.agents/skills/opendoc-review-document/SKILL.md +60 -0
- package/.agents/skills/opendoc-review-document/agents/openai.yaml +4 -0
- package/AGENTS.md +69 -0
- package/CONTRIBUTING.md +38 -0
- package/LICENSE +21 -0
- package/README.md +179 -0
- package/SECURITY.md +9 -0
- package/THIRD_PARTY.md +49 -0
- package/VALIDATION.md +99 -0
- package/bin/opendoc.mjs +6 -0
- package/dist/assets/Markdown-sNZyjJi7.js +29 -0
- package/dist/assets/OpenDocSerif-Regular-D3OXs9A9.ttf +0 -0
- package/dist/assets/OpenDocSerif-Semibold-CjL9oDRo.ttf +0 -0
- package/dist/assets/geist-latin-ext-wght-italic-XgKbg5n7.woff2 +0 -0
- package/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dist/assets/geist-latin-wght-italic-dTnRTFFJ.woff2 +0 -0
- package/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dist/assets/index-DdrZ6ozO.css +1 -0
- package/dist/assets/index-DgNBz7mL.js +39 -0
- package/dist/assets/pdf-B7Emtyld.js +54 -0
- package/dist/assets/pdf.worker.min-Dswkl-cV.mjs +29 -0
- package/dist/assets/wordmark-DsqLlZpb.png +0 -0
- package/dist/index.html +17 -0
- package/docs/APPEARANCE.md +21 -0
- package/docs/ASSETS.md +176 -0
- package/docs/AUTHORING.md +178 -0
- package/docs/HEADLESS.md +120 -0
- package/docs/MEDIA.md +112 -0
- package/docs/PROJECTS.md +55 -0
- package/docs/PROSE.md +15 -0
- package/docs/SELECTION.md +59 -0
- package/docs/TEMPLATES.md +55 -0
- package/docs/THEMES.md +106 -0
- package/node_modules/@formepdf/core/LICENSE +21 -0
- package/node_modules/@formepdf/core/README.md +53 -0
- package/node_modules/@formepdf/core/dist/attachments.d.ts +55 -0
- package/node_modules/@formepdf/core/dist/attachments.js +59 -0
- package/node_modules/@formepdf/core/dist/extract.d.ts +8 -0
- package/node_modules/@formepdf/core/dist/extract.js +56 -0
- package/node_modules/@formepdf/core/dist/index.d.ts +311 -0
- package/node_modules/@formepdf/core/dist/index.js +167 -0
- package/node_modules/@formepdf/core/dist/layout.d.ts +132 -0
- package/node_modules/@formepdf/core/dist/layout.js +240 -0
- package/node_modules/@formepdf/core/dist/shared/browserHelpers.d.ts +19 -0
- package/node_modules/@formepdf/core/dist/shared/browserHelpers.js +128 -0
- package/node_modules/@formepdf/core/package.json +35 -0
- package/node_modules/@formepdf/core/pkg-node/LICENSE +21 -0
- package/node_modules/@formepdf/core/pkg-node/README.md +84 -0
- package/node_modules/@formepdf/core/pkg-node/forme.d.ts +39 -0
- package/node_modules/@formepdf/core/pkg-node/forme.js +394 -0
- package/node_modules/@formepdf/core/pkg-node/forme_bg.wasm +0 -0
- package/node_modules/@formepdf/core/pkg-node/forme_bg.wasm.d.ts +21 -0
- package/node_modules/@formepdf/core/pkg-node/package.json +25 -0
- package/node_modules/@formepdf/react/README.md +70 -0
- package/node_modules/@formepdf/react/dist/charts.d.ts +72 -0
- package/node_modules/@formepdf/react/dist/charts.js +338 -0
- package/node_modules/@formepdf/react/dist/components.d.ts +533 -0
- package/node_modules/@formepdf/react/dist/components.js +608 -0
- package/node_modules/@formepdf/react/dist/expr.d.ts +20 -0
- package/node_modules/@formepdf/react/dist/expr.js +39 -0
- package/node_modules/@formepdf/react/dist/font.d.ts +2 -0
- package/node_modules/@formepdf/react/dist/font.js +1 -0
- package/node_modules/@formepdf/react/dist/index.d.ts +11 -0
- package/node_modules/@formepdf/react/dist/index.js +15 -0
- package/node_modules/@formepdf/react/dist/render.d.ts +12 -0
- package/node_modules/@formepdf/react/dist/render.js +15 -0
- package/node_modules/@formepdf/react/dist/serialize.d.ts +12 -0
- package/node_modules/@formepdf/react/dist/serialize.js +1470 -0
- package/node_modules/@formepdf/react/dist/stylesheet.d.ts +4 -0
- package/node_modules/@formepdf/react/dist/stylesheet.js +5 -0
- package/node_modules/@formepdf/react/dist/template-proxy.d.ts +38 -0
- package/node_modules/@formepdf/react/dist/template-proxy.js +100 -0
- package/node_modules/@formepdf/react/dist/types.d.ts +287 -0
- package/node_modules/@formepdf/react/dist/types.js +1 -0
- package/node_modules/@formepdf/react/package.json +41 -0
- package/node_modules/@formepdf/shared/README.md +7 -0
- package/node_modules/@formepdf/shared/dist/canvas.d.ts +6 -0
- package/node_modules/@formepdf/shared/dist/canvas.js +43 -0
- package/node_modules/@formepdf/shared/dist/charts.d.ts +100 -0
- package/node_modules/@formepdf/shared/dist/charts.js +98 -0
- package/node_modules/@formepdf/shared/dist/encode.d.ts +27 -0
- package/node_modules/@formepdf/shared/dist/encode.js +93 -0
- package/node_modules/@formepdf/shared/dist/font.d.ts +13 -0
- package/node_modules/@formepdf/shared/dist/font.js +52 -0
- package/node_modules/@formepdf/shared/dist/index.d.ts +10 -0
- package/node_modules/@formepdf/shared/dist/index.js +15 -0
- package/node_modules/@formepdf/shared/dist/parser.d.ts +30 -0
- package/node_modules/@formepdf/shared/dist/parser.js +756 -0
- package/node_modules/@formepdf/shared/dist/semantics.d.ts +15 -0
- package/node_modules/@formepdf/shared/dist/semantics.js +44 -0
- package/node_modules/@formepdf/shared/dist/style.d.ts +7 -0
- package/node_modules/@formepdf/shared/dist/style.js +1024 -0
- package/node_modules/@formepdf/shared/dist/types.d.ts +743 -0
- package/node_modules/@formepdf/shared/dist/types.js +2 -0
- package/node_modules/@formepdf/shared/package.json +35 -0
- package/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/node/assert/strict.d.ts +111 -0
- package/node_modules/@types/node/assert.d.ts +1078 -0
- package/node_modules/@types/node/async_hooks.d.ts +603 -0
- package/node_modules/@types/node/buffer.buffer.d.ts +472 -0
- package/node_modules/@types/node/buffer.d.ts +1934 -0
- package/node_modules/@types/node/child_process.d.ts +1476 -0
- package/node_modules/@types/node/cluster.d.ts +578 -0
- package/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
- package/node_modules/@types/node/compatibility/index.d.ts +9 -0
- package/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
- package/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
- package/node_modules/@types/node/console.d.ts +452 -0
- package/node_modules/@types/node/constants.d.ts +21 -0
- package/node_modules/@types/node/crypto.d.ts +4545 -0
- package/node_modules/@types/node/dgram.d.ts +600 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
- package/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/node_modules/@types/node/dns.d.ts +923 -0
- package/node_modules/@types/node/domain.d.ts +170 -0
- package/node_modules/@types/node/events.d.ts +976 -0
- package/node_modules/@types/node/fs/promises.d.ts +1306 -0
- package/node_modules/@types/node/fs.d.ts +4463 -0
- package/node_modules/@types/node/globals.d.ts +172 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +38 -0
- package/node_modules/@types/node/http.d.ts +2097 -0
- package/node_modules/@types/node/http2.d.ts +2843 -0
- package/node_modules/@types/node/https.d.ts +579 -0
- package/node_modules/@types/node/index.d.ts +98 -0
- package/node_modules/@types/node/inspector.d.ts +253 -0
- package/node_modules/@types/node/inspector.generated.d.ts +4052 -0
- package/node_modules/@types/node/module.d.ts +891 -0
- package/node_modules/@types/node/net.d.ts +1076 -0
- package/node_modules/@types/node/os.d.ts +506 -0
- package/node_modules/@types/node/package.json +145 -0
- package/node_modules/@types/node/path.d.ts +200 -0
- package/node_modules/@types/node/perf_hooks.d.ts +968 -0
- package/node_modules/@types/node/process.d.ts +2084 -0
- package/node_modules/@types/node/punycode.d.ts +117 -0
- package/node_modules/@types/node/querystring.d.ts +152 -0
- package/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/node_modules/@types/node/readline.d.ts +594 -0
- package/node_modules/@types/node/repl.d.ts +428 -0
- package/node_modules/@types/node/sea.d.ts +162 -0
- package/node_modules/@types/node/sqlite.d.ts +722 -0
- package/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/node_modules/@types/node/stream/promises.d.ts +90 -0
- package/node_modules/@types/node/stream/web.d.ts +573 -0
- package/node_modules/@types/node/stream.d.ts +1694 -0
- package/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/node_modules/@types/node/test.d.ts +2265 -0
- package/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/node_modules/@types/node/timers.d.ts +287 -0
- package/node_modules/@types/node/tls.d.ts +1319 -0
- package/node_modules/@types/node/trace_events.d.ts +197 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +98 -0
- package/node_modules/@types/node/tty.d.ts +208 -0
- package/node_modules/@types/node/url.d.ts +984 -0
- package/node_modules/@types/node/util.d.ts +2606 -0
- package/node_modules/@types/node/v8.d.ts +920 -0
- package/node_modules/@types/node/vm.d.ts +1053 -0
- package/node_modules/@types/node/wasi.d.ts +181 -0
- package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/node_modules/@types/node/web-globals/events.d.ts +97 -0
- package/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
- package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
- package/node_modules/@types/node/worker_threads.d.ts +819 -0
- package/node_modules/@types/node/zlib.d.ts +747 -0
- package/node_modules/@types/react/LICENSE +21 -0
- package/node_modules/@types/react/README.md +15 -0
- package/node_modules/@types/react/canary.d.ts +129 -0
- package/node_modules/@types/react/compiler-runtime.d.ts +4 -0
- package/node_modules/@types/react/experimental.d.ts +184 -0
- package/node_modules/@types/react/global.d.ts +166 -0
- package/node_modules/@types/react/index.d.ts +4378 -0
- package/node_modules/@types/react/jsx-dev-runtime.d.ts +33 -0
- package/node_modules/@types/react/jsx-runtime.d.ts +24 -0
- package/node_modules/@types/react/package.json +210 -0
- package/node_modules/@types/react/ts5.0/canary.d.ts +129 -0
- package/node_modules/@types/react/ts5.0/experimental.d.ts +184 -0
- package/node_modules/@types/react/ts5.0/global.d.ts +166 -0
- package/node_modules/@types/react/ts5.0/index.d.ts +4365 -0
- package/node_modules/@types/react/ts5.0/jsx-dev-runtime.d.ts +33 -0
- package/node_modules/@types/react/ts5.0/jsx-runtime.d.ts +24 -0
- package/node_modules/csstype/LICENSE +19 -0
- package/node_modules/csstype/README.md +291 -0
- package/node_modules/csstype/index.d.ts +22569 -0
- package/node_modules/csstype/index.js.flow +6863 -0
- package/node_modules/csstype/package.json +70 -0
- package/node_modules/entities/LICENSE +11 -0
- package/node_modules/entities/decode.d.ts +1 -0
- package/node_modules/entities/decode.js +3 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
- package/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
- package/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/decode.js +511 -0
- package/node_modules/entities/dist/commonjs/decode.js.map +1 -0
- package/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
- package/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/encode.js +73 -0
- package/node_modules/entities/dist/commonjs/encode.js.map +1 -0
- package/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
- package/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/escape.js +121 -0
- package/node_modules/entities/dist/commonjs/escape.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
- package/node_modules/entities/dist/commonjs/index.d.ts +96 -0
- package/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/index.js +131 -0
- package/node_modules/entities/dist/commonjs/index.js.map +1 -0
- package/node_modules/entities/dist/commonjs/package.json +3 -0
- package/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
- package/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
- package/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
- package/node_modules/entities/dist/esm/decode.d.ts +209 -0
- package/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/decode.js +497 -0
- package/node_modules/entities/dist/esm/decode.js.map +1 -0
- package/node_modules/entities/dist/esm/encode.d.ts +22 -0
- package/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/encode.js +69 -0
- package/node_modules/entities/dist/esm/encode.js.map +1 -0
- package/node_modules/entities/dist/esm/escape.d.ts +43 -0
- package/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/escape.js +117 -0
- package/node_modules/entities/dist/esm/escape.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
- package/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
- package/node_modules/entities/dist/esm/index.d.ts +96 -0
- package/node_modules/entities/dist/esm/index.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/index.js +107 -0
- package/node_modules/entities/dist/esm/index.js.map +1 -0
- package/node_modules/entities/dist/esm/package.json +3 -0
- package/node_modules/entities/escape.d.ts +1 -0
- package/node_modules/entities/escape.js +3 -0
- package/node_modules/entities/package.json +118 -0
- package/node_modules/entities/readme.md +122 -0
- package/node_modules/entities/src/decode-codepoint.ts +81 -0
- package/node_modules/entities/src/decode.spec.ts +320 -0
- package/node_modules/entities/src/decode.ts +620 -0
- package/node_modules/entities/src/encode.spec.ts +78 -0
- package/node_modules/entities/src/encode.ts +77 -0
- package/node_modules/entities/src/escape.spec.ts +14 -0
- package/node_modules/entities/src/escape.ts +148 -0
- package/node_modules/entities/src/generated/.eslintrc.json +10 -0
- package/node_modules/entities/src/generated/decode-data-html.ts +8 -0
- package/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
- package/node_modules/entities/src/generated/encode-html.ts +17 -0
- package/node_modules/entities/src/index.spec.ts +125 -0
- package/node_modules/entities/src/index.ts +188 -0
- package/node_modules/parse5/LICENSE +19 -0
- package/node_modules/parse5/README.md +38 -0
- package/node_modules/parse5/dist/cjs/common/doctype.d.ts +4 -0
- package/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
- package/node_modules/parse5/dist/cjs/common/error-codes.d.ts +67 -0
- package/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
- package/node_modules/parse5/dist/cjs/common/foreign-content.d.ts +9 -0
- package/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
- package/node_modules/parse5/dist/cjs/common/html.d.ts +289 -0
- package/node_modules/parse5/dist/cjs/common/html.js +528 -0
- package/node_modules/parse5/dist/cjs/common/token.d.ts +84 -0
- package/node_modules/parse5/dist/cjs/common/token.js +24 -0
- package/node_modules/parse5/dist/cjs/common/unicode.d.ts +42 -0
- package/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
- package/node_modules/parse5/dist/cjs/index.d.ts +71 -0
- package/node_modules/parse5/dist/cjs/index.js +54 -0
- package/node_modules/parse5/dist/cjs/package.json +1 -0
- package/node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts +36 -0
- package/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
- package/node_modules/parse5/dist/cjs/parser/index.d.ts +221 -0
- package/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
- package/node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts +53 -0
- package/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
- package/node_modules/parse5/dist/cjs/serializer/index.d.ts +60 -0
- package/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
- package/node_modules/parse5/dist/cjs/tokenizer/index.d.ts +247 -0
- package/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
- package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts +36 -0
- package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/default.d.ts +84 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts +255 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
- package/node_modules/parse5/dist/common/doctype.d.ts +4 -0
- package/node_modules/parse5/dist/common/doctype.js +114 -0
- package/node_modules/parse5/dist/common/error-codes.d.ts +67 -0
- package/node_modules/parse5/dist/common/error-codes.js +63 -0
- package/node_modules/parse5/dist/common/foreign-content.d.ts +9 -0
- package/node_modules/parse5/dist/common/foreign-content.js +228 -0
- package/node_modules/parse5/dist/common/html.d.ts +289 -0
- package/node_modules/parse5/dist/common/html.js +523 -0
- package/node_modules/parse5/dist/common/token.d.ts +84 -0
- package/node_modules/parse5/dist/common/token.js +20 -0
- package/node_modules/parse5/dist/common/unicode.d.ts +42 -0
- package/node_modules/parse5/dist/common/unicode.js +62 -0
- package/node_modules/parse5/dist/index.d.ts +71 -0
- package/node_modules/parse5/dist/index.js +42 -0
- package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +36 -0
- package/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
- package/node_modules/parse5/dist/parser/index.d.ts +221 -0
- package/node_modules/parse5/dist/parser/index.js +3245 -0
- package/node_modules/parse5/dist/parser/open-element-stack.d.ts +53 -0
- package/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
- package/node_modules/parse5/dist/serializer/index.d.ts +60 -0
- package/node_modules/parse5/dist/serializer/index.js +168 -0
- package/node_modules/parse5/dist/tokenizer/index.d.ts +247 -0
- package/node_modules/parse5/dist/tokenizer/index.js +2710 -0
- package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +36 -0
- package/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
- package/node_modules/parse5/dist/tree-adapters/default.d.ts +84 -0
- package/node_modules/parse5/dist/tree-adapters/default.js +173 -0
- package/node_modules/parse5/dist/tree-adapters/interface.d.ts +255 -0
- package/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
- package/node_modules/parse5/package.json +50 -0
- package/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/undici-types/README.md +6 -0
- package/node_modules/undici-types/agent.d.ts +31 -0
- package/node_modules/undici-types/api.d.ts +43 -0
- package/node_modules/undici-types/balanced-pool.d.ts +29 -0
- package/node_modules/undici-types/cache.d.ts +36 -0
- package/node_modules/undici-types/client.d.ts +108 -0
- package/node_modules/undici-types/connector.d.ts +34 -0
- package/node_modules/undici-types/content-type.d.ts +21 -0
- package/node_modules/undici-types/cookies.d.ts +28 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
- package/node_modules/undici-types/dispatcher.d.ts +256 -0
- package/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
- package/node_modules/undici-types/errors.d.ts +149 -0
- package/node_modules/undici-types/eventsource.d.ts +61 -0
- package/node_modules/undici-types/fetch.d.ts +209 -0
- package/node_modules/undici-types/file.d.ts +39 -0
- package/node_modules/undici-types/filereader.d.ts +54 -0
- package/node_modules/undici-types/formdata.d.ts +108 -0
- package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/node_modules/undici-types/global-origin.d.ts +7 -0
- package/node_modules/undici-types/handlers.d.ts +15 -0
- package/node_modules/undici-types/header.d.ts +4 -0
- package/node_modules/undici-types/index.d.ts +71 -0
- package/node_modules/undici-types/interceptors.d.ts +17 -0
- package/node_modules/undici-types/mock-agent.d.ts +50 -0
- package/node_modules/undici-types/mock-client.d.ts +25 -0
- package/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/node_modules/undici-types/mock-interceptor.d.ts +93 -0
- package/node_modules/undici-types/mock-pool.d.ts +25 -0
- package/node_modules/undici-types/package.json +55 -0
- package/node_modules/undici-types/patch.d.ts +33 -0
- package/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/node_modules/undici-types/pool.d.ts +39 -0
- package/node_modules/undici-types/proxy-agent.d.ts +28 -0
- package/node_modules/undici-types/readable.d.ts +65 -0
- package/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/undici-types/retry-handler.d.ts +116 -0
- package/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/undici-types/webidl.d.ts +228 -0
- package/node_modules/undici-types/websocket.d.ts +150 -0
- package/package.json +80 -0
- package/scripts/rebuild-forme.mjs +61 -0
- package/src/app/AppearanceControl.tsx +44 -0
- package/src/app/AssetThemeDefaults.tsx +87 -0
- package/src/app/AssetsBrowser.tsx +273 -0
- package/src/app/CommentDock.tsx +108 -0
- package/src/app/CreateDocumentDialog.tsx +51 -0
- package/src/app/DocumentActions.tsx +69 -0
- package/src/app/DocumentCard.tsx +50 -0
- package/src/app/DocumentViewControl.tsx +31 -0
- package/src/app/DocumentsBrowser.tsx +70 -0
- package/src/app/ExportHistoryDialog.tsx +86 -0
- package/src/app/ExportMenu.tsx +127 -0
- package/src/app/GuideDialog.tsx +80 -0
- package/src/app/InspectionLayer.tsx +77 -0
- package/src/app/LogoUploadDialog.tsx +92 -0
- package/src/app/Markdown.tsx +34 -0
- package/src/app/MaterialsBrowser.tsx +149 -0
- package/src/app/PageNumberInput.tsx +56 -0
- package/src/app/Pdf.tsx +561 -0
- package/src/app/ProjectDialogs.tsx +100 -0
- package/src/app/Reader.tsx +769 -0
- package/src/app/SearchField.tsx +13 -0
- package/src/app/Sidebar.tsx +86 -0
- package/src/app/SkillIndex.tsx +30 -0
- package/src/app/TemplatesBrowser.tsx +149 -0
- package/src/app/ThemesBrowser.tsx +159 -0
- package/src/app/api.ts +47 -0
- package/src/app/appearance.ts +35 -0
- package/src/app/assets.css +139 -0
- package/src/app/catalogPreview.ts +20 -0
- package/src/app/colors.css +167 -0
- package/src/app/comment-dock.css +53 -0
- package/src/app/commentDrafts.ts +67 -0
- package/src/app/componentCorrection.ts +17 -0
- package/src/app/edit-workbench.css +87 -0
- package/src/app/editSession.ts +238 -0
- package/src/app/editorRecovery.ts +25 -0
- package/src/app/export-history.css +31 -0
- package/src/app/export.css +17 -0
- package/src/app/guideLinks.ts +21 -0
- package/src/app/guides.css +40 -0
- package/src/app/main.tsx +221 -0
- package/src/app/materials.css +53 -0
- package/src/app/pdfLoading.ts +12 -0
- package/src/app/pdfSelection.ts +112 -0
- package/src/app/projects.css +63 -0
- package/src/app/reader-toolbar.css +65 -0
- package/src/app/selection.css +150 -0
- package/src/app/sidebar.css +60 -0
- package/src/app/skills.css +7 -0
- package/src/app/style.css +1061 -0
- package/src/app/templates.css +49 -0
- package/src/app/themes.css +80 -0
- package/src/app/ui/Icon.tsx +92 -0
- package/src/app/ui/README.md +27 -0
- package/src/app/ui/fonts.css +36 -0
- package/src/app/ui/index.tsx +223 -0
- package/src/app/ui/ui.css +388 -0
- package/src/app/useReaderPreview.ts +19 -0
- package/src/app/useTextEditing.ts +155 -0
- package/src/assets/adapter.ts +122 -0
- package/src/assets/files.ts +378 -0
- package/src/assets/import-worker.ts +294 -0
- package/src/assets/imports.ts +124 -0
- package/src/assets/index.ts +60 -0
- package/src/assets/store.ts +798 -0
- package/src/assets/usage.ts +118 -0
- package/src/cli/check.ts +25 -0
- package/src/cli/init.ts +119 -0
- package/src/cli/lock.ts +34 -0
- package/src/cli/main.ts +118 -0
- package/src/cli/process.ts +19 -0
- package/src/cli/start.ts +96 -0
- package/src/cli/update.ts +348 -0
- package/src/cli/workspace.ts +94 -0
- package/src/document/index.tsx +641 -0
- package/src/document/page.tsx +53 -0
- package/src/document/text-targets.tsx +162 -0
- package/src/media/files.ts +124 -0
- package/src/media/render.ts +63 -0
- package/src/rendering/resolve-sources.ts +84 -0
- package/src/runtime/jsx-dev-runtime.ts +2 -0
- package/src/runtime/jsx-runtime.ts +2 -0
- package/src/runtime/paths.ts +12 -0
- package/src/server/assets-cli.ts +162 -0
- package/src/server/assets-http.ts +100 -0
- package/src/server/client.ts +50 -0
- package/src/server/clipboard.ts +22 -0
- package/src/server/comments-cli.ts +64 -0
- package/src/server/comments.ts +130 -0
- package/src/server/create-cli.ts +33 -0
- package/src/server/create.ts +228 -0
- package/src/server/dependencies.ts +91 -0
- package/src/server/documents.ts +143 -0
- package/src/server/edits.ts +249 -0
- package/src/server/export-batch.ts +105 -0
- package/src/server/export-errors.ts +2 -0
- package/src/server/export-file.ts +57 -0
- package/src/server/export-inputs.ts +66 -0
- package/src/server/export-preview.ts +69 -0
- package/src/server/export.ts +32 -0
- package/src/server/exports.ts +283 -0
- package/src/server/files.ts +21 -0
- package/src/server/guides.ts +71 -0
- package/src/server/index.ts +432 -0
- package/src/server/materials.ts +39 -0
- package/src/server/media-cli.ts +73 -0
- package/src/server/media-mutations.ts +168 -0
- package/src/server/pptx.ts +160 -0
- package/src/server/preflight.ts +129 -0
- package/src/server/projects-cli.ts +29 -0
- package/src/server/projects.ts +187 -0
- package/src/server/render-error.ts +9 -0
- package/src/server/render-source.ts +24 -0
- package/src/server/render.ts +48 -0
- package/src/server/review-cli.ts +40 -0
- package/src/server/review.ts +161 -0
- package/src/server/selection.ts +23 -0
- package/src/server/source-overrides.ts +97 -0
- package/src/server/templates-cli.ts +51 -0
- package/src/server/templates.ts +186 -0
- package/src/server/text-layout.ts +41 -0
- package/src/server/text-source.ts +307 -0
- package/src/server/themes-cli.ts +59 -0
- package/src/server/themes.ts +215 -0
- package/src/server/ttf2eot.d.ts +3 -0
- package/src/server/worker.ts +166 -0
- package/src/server/workspace.ts +242 -0
- package/src/shared/anchors.ts +69 -0
- package/src/shared/assets.ts +154 -0
- package/src/shared/export.ts +34 -0
- package/src/shared/media.ts +33 -0
- package/src/shared/projects.ts +19 -0
- package/src/shared/selection.ts +94 -0
- package/src/shared/skill-index.ts +14 -0
- package/src/shared/starters.ts +19 -0
- package/src/shared/templates.ts +18 -0
- package/src/shared/themes.ts +24 -0
- package/src/shared/types.ts +39 -0
- package/src/template/index.ts +27 -0
- package/src/themes/index.ts +3 -0
- package/src/themes/neutral.ts +20 -0
- package/src/themes/types.ts +110 -0
- package/starter/assets/brand/wordmark.png +0 -0
- package/starter/assets/fonts/InterUI-LICENSE.txt +93 -0
- package/starter/assets/fonts/InterUI-Medium.ttf +0 -0
- package/starter/assets/fonts/InterUI-Regular.ttf +0 -0
- package/starter/assets/fonts/InterUI-source.json +19 -0
- package/starter/assets/fonts/OpenDocMono-Regular.ttf +0 -0
- package/starter/assets/fonts/OpenDocSans-Italic.ttf +0 -0
- package/starter/assets/fonts/OpenDocSans-Regular.ttf +0 -0
- package/starter/assets/fonts/OpenDocSans-Semibold.ttf +0 -0
- package/starter/assets/fonts/OpenDocSans-SemiboldItalic.ttf +0 -0
- package/starter/assets/fonts/OpenDocSerif-Italic.ttf +0 -0
- package/starter/assets/fonts/OpenDocSerif-Regular.ttf +0 -0
- package/starter/assets/fonts/OpenDocSerif-Semibold.ttf +0 -0
- package/starter/assets/fonts/OpenDocSerif-SemiboldItalic.ttf +0 -0
- package/starter/assets/fonts/SourceCode-LICENSE.md +93 -0
- package/starter/assets/fonts/SourceSans-LICENSE.md +93 -0
- package/starter/assets/fonts/SourceSerif-LICENSE.md +93 -0
- package/starter/assets/fonts/geist/OFL.txt +93 -0
- package/starter/assets/fonts/geist/asset.json +7 -0
- package/starter/assets/fonts/geist/files/1a9874b3be0fc168692a3d2327bccb4d28835653d3b91537a755296a467a83e3.ttf +0 -0
- package/starter/assets/fonts/geist/files/a8eefb873ba9c9020665f8a98302697ce1f3b79ab2deef6ee508c0ca6a82e876.ttf +0 -0
- package/starter/assets/fonts/geist/files/ccce59465ae5c61930ada5453834f60500fbd95084d85db63e0e65fad0125455.ttf +0 -0
- package/starter/assets/fonts/geist/files/f5e95110d70593672515080bee9148463ada0a7f77b89ed65a3d43cb2b0ff83a.pdf +0 -0
- package/starter/assets/fonts/geist/revisions/9a2bc12fb2f23cb27bc227087e63e1407bb804ee0586480bd6b7966ec69fb474.json +60 -0
- package/starter/assets/fonts/inter/OFL.txt +93 -0
- package/starter/assets/fonts/inter/asset.json +7 -0
- package/starter/assets/fonts/inter/files/1b08e7fc267a5c7e1d614100f604b83e7e8a0be241f0f288faa2b3ac93a683ba.ttf +0 -0
- package/starter/assets/fonts/inter/files/5b6f0c6f26e5c554a64cdcc3a9b5d802b7f9aec6206f1dbcfcdcad7b5860a2a9.ttf +0 -0
- package/starter/assets/fonts/inter/files/957db8560d510a198a7d0333fae7b6b444b00c20801581126273978d778eb3c3.pdf +0 -0
- package/starter/assets/fonts/inter/files/b37284b5701b6b168dfc770aa1a4ac492106422fd3ba76bc7641e37434e8019c.ttf +0 -0
- package/starter/assets/fonts/inter/files/c1811d32ac0f6eed1bbf57529f2ecdfc6c717d48a969dd864942436315a1b198.ttf +0 -0
- package/starter/assets/fonts/inter/files/e7a1aaf7eda9f2fad4131725fa556265ec75ca7b2d756260173a040363e8d4f7.ttf +0 -0
- package/starter/assets/fonts/inter/files/ef8f755d933b9310804cc9152f1f18cb2ac460d6b05054ec913d889c9f11f79e.ttf +0 -0
- package/starter/assets/fonts/inter/revisions/600391517c413963b71e278a57c26c40366c81fa3939a6b9755f446206766d12.json +99 -0
- package/starter/assets/fonts/inter/source.json +57 -0
- package/starter/assets/fonts/lato/OFL.txt +93 -0
- package/starter/assets/fonts/lato/asset.json +7 -0
- package/starter/assets/fonts/lato/files/4a6b566dbb28adb473a8789ce5169306f42f0c8a070ac92bae93636f36348b0d.pdf +0 -0
- package/starter/assets/fonts/lato/files/5adeb6b334d8fb99ef053bc052b952773d544315e0e1d668a12c0ce8bd51375c.ttf +0 -0
- package/starter/assets/fonts/lato/files/62c1b7f0d2e74b45960154c3520efc337b553db0961bfdc950d5618334596cc8.ttf +0 -0
- package/starter/assets/fonts/lato/files/71b8b7decbe75a881ed267be539d402bd1e9420b799658aada4e0d1bd5af803c.ttf +0 -0
- package/starter/assets/fonts/lato/files/8a0aace75d33794eece4b28187bfc1df0bbd2888b5d8a56e01788c8d65d16be1.ttf +0 -0
- package/starter/assets/fonts/lato/files/d636e4683231f931eda222d588e944d082bfd3bdba02f928bee461c0f185b251.ttf +0 -0
- package/starter/assets/fonts/lato/files/e399c44efe1387100531d26c7e4800c5d12251b890d6654a3098c7c679cb1786.ttf +0 -0
- package/starter/assets/fonts/lato/revisions/49ccb93400a9d466fab7d9843b1ecf8916ec6d47a475dd79a597a22eb39616bc.json +99 -0
- package/starter/assets/fonts/lato/source.json +57 -0
- package/starter/assets/fonts/merriweather/OFL.txt +93 -0
- package/starter/assets/fonts/merriweather/asset.json +7 -0
- package/starter/assets/fonts/merriweather/files/1c54f91b910454251c4c2b7bd4e472e1abf265fba7ca3c0ef2eee2f41324099e.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/8bde8da2bb7f0265e27ba0481f70bb48d0f98a976c145f2f239c648ddd6532e0.pdf +0 -0
- package/starter/assets/fonts/merriweather/files/90b7db4460fcd1a5ca49575c2668a793f3cd6447664d312a068d690e1c01e6bc.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/afff81272b7653417bb6f8bef57add055b1f9fda36f27eba5f32b40752bd08da.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/e029d3b71e5bae3877c73f4f2b15af28db16593d49b0aed2a328d37ff7075846.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/e9864a6790bf712a04e20f3662b206a1535186ed3e877fd859dd5fb9682335df.ttf +0 -0
- package/starter/assets/fonts/merriweather/files/fa71baebdd20a7d0de2e5e445a5922530fe9e1d740efbe791f113b682d3cb093.ttf +0 -0
- package/starter/assets/fonts/merriweather/revisions/1888e390b3e4f38a3d7cd2dc1bb805aeb6ce13f986a97656f0265fd436bc91d2.json +99 -0
- package/starter/assets/fonts/merriweather/source.json +57 -0
- package/starter/assets/fonts/open-sans/OFL.txt +92 -0
- package/starter/assets/fonts/open-sans/asset.json +7 -0
- package/starter/assets/fonts/open-sans/files/1bc0594a83762b2c25d38915a34464b7fec6088298ca22d151757bf98d6700ec.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/47ed1cfaa7ffca04a04ab850b2938fd52c09d1b44cfa3e2980878e166b0cbd87.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/574939af301f07df8e21cfff279465c5981dd9d9cf62086f7515897df951c6f5.pdf +0 -0
- package/starter/assets/fonts/open-sans/files/6d3884d0d57c1b67e9c50c54eca7b69c535c114e76bd7a9cfda0258588185553.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/733eb93b167e6d45de09aa768f6c0355647c2c26f5416dbc7407a08ed41e81c6.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/75367e6da7d914eaed87883ba51b2a2b5816b5cdbb39f96ec5c81a5b032bfd5a.ttf +0 -0
- package/starter/assets/fonts/open-sans/files/ff4fdc11204e0edd14e9a0bb6c374b847a9093b0ec2c16702e03afca79ac4ef7.ttf +0 -0
- package/starter/assets/fonts/open-sans/revisions/bbbe3a4915b9bccbc883c0decb4097511c43b6bd09ae22a1516aff128c219bc5.json +99 -0
- package/starter/assets/fonts/open-sans/source.json +57 -0
- package/starter/assets/fonts/roboto/OFL.txt +93 -0
- package/starter/assets/fonts/roboto/asset.json +7 -0
- package/starter/assets/fonts/roboto/files/22d45d989248a624252b8382067ac56550212fa675dcdbaf12f03d297dd87a58.pdf +0 -0
- package/starter/assets/fonts/roboto/files/35757eaa996b3359022f47f164a67ee9eac04971af24c5b8fbd4b89e844ff190.ttf +0 -0
- package/starter/assets/fonts/roboto/files/4d3035883c531846bd1ce2dc89f36d932e72dc114f56062c7e3a9cdd74f3d3ea.ttf +0 -0
- package/starter/assets/fonts/roboto/files/be7639306a4fc4a02ce2ae2ff59eb1335e4db4a7379dd0a384ed7cc053817789.ttf +0 -0
- package/starter/assets/fonts/roboto/files/d2920cbb1b60a3fd11fbf22049286e43a6baf522d37fdf1e7c89562319bcfea5.ttf +0 -0
- package/starter/assets/fonts/roboto/files/dece7c71bbe61710787f0839c722c65e87355dd2eb4a823e6b5488121ff81e4b.ttf +0 -0
- package/starter/assets/fonts/roboto/files/f478ba88b0292e685e487901dfbb1401457d32d6ebee4030cdfd5698235bffa8.ttf +0 -0
- package/starter/assets/fonts/roboto/revisions/bda5e2d84c17313373dd2dbf3e64fe0dd450c7e1b59e6929e69557e122fe976e.json +99 -0
- package/starter/assets/fonts/roboto/source.json +57 -0
- package/starter/assets/logos/opendoc/asset.json +6 -0
- package/starter/assets/logos/opendoc/files/831d5ccd9eb6709cc8439ea257c03d81452e81a28a3d1eedbd6a3b7daff687b6.png +0 -0
- package/starter/assets/logos/opendoc/revisions/834dde8926ddb81de687254195a168bb13bfb77803307f1257de1f2228be63b2.json +33 -0
- package/starter/assets/ui-fonts/geist/OFL.txt +93 -0
- package/starter/assets/ui-fonts/geist/geist-latin-ext-wght-italic.woff2 +0 -0
- package/starter/assets/ui-fonts/geist/geist-latin-ext-wght-normal.woff2 +0 -0
- package/starter/assets/ui-fonts/geist/geist-latin-wght-italic.woff2 +0 -0
- package/starter/assets/ui-fonts/geist/geist-latin-wght-normal.woff2 +0 -0
- package/starter/assets/ui-fonts/geist/source.json +26 -0
- package/starter/documents/welcome/assets.json +7 -0
- package/starter/documents/welcome/index.tsx +160 -0
- package/starter/documents/welcome/media/.gitkeep +0 -0
- package/starter/documents/welcome/media/paper-architecture/image.png +0 -0
- package/starter/documents/welcome/media/paper-architecture/meta.json +9 -0
- package/starter/documents/welcome/media/paper-architecture/prompt.txt +1 -0
- package/starter/documents/welcome/media/studio-rhythm/chart.svg +2343 -0
- package/starter/documents/welcome/media/studio-rhythm/data.json +234 -0
- package/starter/documents/welcome/media/studio-rhythm/generation.json +9 -0
- package/starter/documents/welcome/media/studio-rhythm/image.png +0 -0
- package/starter/documents/welcome/media/studio-rhythm/meta.json +11 -0
- package/starter/documents/welcome/media/studio-rhythm/recipe.py +79 -0
- package/starter/documents/welcome/theme.tsx +5 -0
- package/starter/documents/welcome-presentation/assets.json +7 -0
- package/starter/documents/welcome-presentation/index.tsx +166 -0
- package/starter/documents/welcome-presentation/media/.gitkeep +0 -0
- package/starter/documents/welcome-presentation/media/paper-architecture/image.png +0 -0
- package/starter/documents/welcome-presentation/media/paper-architecture/meta.json +9 -0
- package/starter/documents/welcome-presentation/media/paper-architecture/prompt.txt +1 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/chart.svg +1336 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/data.json +234 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/generation.json +9 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/image.png +0 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/meta.json +13 -0
- package/starter/documents/welcome-presentation/media/studio-rhythm/recipe.py +49 -0
- package/starter/documents/welcome-presentation/theme.tsx +5 -0
- package/starter/projects.json +17 -0
- package/starter/templates/AGENTS.md +9 -0
- package/starter/templates/_shared/BusinessLogo.tsx +14 -0
- package/starter/templates/_shared/Pricing.tsx +40 -0
- package/starter/templates/_shared/commerce.ts +93 -0
- package/starter/templates/brand-guidelines/AGENTS.md +32 -0
- package/starter/templates/brand-guidelines/index.tsx +62 -0
- package/starter/templates/brand-guidelines/preview.tsx +181 -0
- package/starter/templates/brand-guidelines/starter.tsx +179 -0
- package/starter/templates/brand-guidelines/template.json +15 -0
- package/starter/templates/business-proposal/AGENTS.md +13 -0
- package/starter/templates/business-proposal/README.md +36 -0
- package/starter/templates/business-proposal/data.json +37 -0
- package/starter/templates/business-proposal/examples/long.json +142 -0
- package/starter/templates/business-proposal/examples/sparse.json +17 -0
- package/starter/templates/business-proposal/examples/typical.json +37 -0
- package/starter/templates/business-proposal/index.tsx +59 -0
- package/starter/templates/business-proposal/preview.tsx +47 -0
- package/starter/templates/business-proposal/schema.ts +14 -0
- package/starter/templates/business-proposal/starter.tsx +18 -0
- package/starter/templates/business-proposal/template.json +11 -0
- package/starter/templates/company-profile/AGENTS.md +48 -0
- package/starter/templates/company-profile/index.tsx +69 -0
- package/starter/templates/company-profile/preview.tsx +185 -0
- package/starter/templates/company-profile/starter.tsx +186 -0
- package/starter/templates/company-profile/template.json +15 -0
- package/starter/templates/consulting-report/AGENTS.md +11 -0
- package/starter/templates/consulting-report/README.md +13 -0
- package/starter/templates/consulting-report/RESEARCH.md +10 -0
- package/starter/templates/consulting-report/index.tsx +44 -0
- package/starter/templates/consulting-report/preview.tsx +39 -0
- package/starter/templates/consulting-report/starter.tsx +15 -0
- package/starter/templates/consulting-report/template.json +11 -0
- package/starter/templates/editorial-essay/AGENTS.md +11 -0
- package/starter/templates/editorial-essay/README.md +11 -0
- package/starter/templates/editorial-essay/index.tsx +30 -0
- package/starter/templates/editorial-essay/preview.tsx +26 -0
- package/starter/templates/editorial-essay/starter.tsx +15 -0
- package/starter/templates/editorial-essay/template.json +11 -0
- package/starter/templates/executive-brief/AGENTS.md +9 -0
- package/starter/templates/executive-brief/README.md +11 -0
- package/starter/templates/executive-brief/index.tsx +33 -0
- package/starter/templates/executive-brief/preview.tsx +37 -0
- package/starter/templates/executive-brief/starter.tsx +11 -0
- package/starter/templates/executive-brief/template.json +11 -0
- package/starter/templates/image-story/AGENTS.md +37 -0
- package/starter/templates/image-story/index.tsx +106 -0
- package/starter/templates/image-story/preview.tsx +33 -0
- package/starter/templates/image-story/starter.tsx +24 -0
- package/starter/templates/image-story/template.json +13 -0
- package/starter/templates/invoice/AGENTS.md +13 -0
- package/starter/templates/invoice/README.md +40 -0
- package/starter/templates/invoice/data.json +61 -0
- package/starter/templates/invoice/examples/long.json +241 -0
- package/starter/templates/invoice/examples/sparse.json +33 -0
- package/starter/templates/invoice/examples/typical.json +61 -0
- package/starter/templates/invoice/index.tsx +57 -0
- package/starter/templates/invoice/preview.tsx +12 -0
- package/starter/templates/invoice/schema.ts +45 -0
- package/starter/templates/invoice/starter.tsx +12 -0
- package/starter/templates/invoice/template.json +11 -0
- package/starter/templates/literary-text/AGENTS.md +9 -0
- package/starter/templates/literary-text/README.md +11 -0
- package/starter/templates/literary-text/index.tsx +31 -0
- package/starter/templates/literary-text/preview.tsx +20 -0
- package/starter/templates/literary-text/starter.tsx +11 -0
- package/starter/templates/literary-text/template.json +11 -0
- package/starter/templates/magazine-feature/AGENTS.md +11 -0
- package/starter/templates/magazine-feature/README.md +13 -0
- package/starter/templates/magazine-feature/index.tsx +41 -0
- package/starter/templates/magazine-feature/preview.tsx +34 -0
- package/starter/templates/magazine-feature/starter.tsx +15 -0
- package/starter/templates/magazine-feature/template.json +11 -0
- package/starter/templates/monthly-report/AGENTS.md +11 -0
- package/starter/templates/monthly-report/README.md +24 -0
- package/starter/templates/monthly-report/data.json +131 -0
- package/starter/templates/monthly-report/examples/long.json +519 -0
- package/starter/templates/monthly-report/examples/sparse.json +20 -0
- package/starter/templates/monthly-report/examples/typical.json +37 -0
- package/starter/templates/monthly-report/index.tsx +92 -0
- package/starter/templates/monthly-report/preview.tsx +14 -0
- package/starter/templates/monthly-report/schema.ts +127 -0
- package/starter/templates/monthly-report/starter.tsx +13 -0
- package/starter/templates/monthly-report/template.json +11 -0
- package/starter/templates/pitch-deck/AGENTS.md +32 -0
- package/starter/templates/pitch-deck/index.tsx +46 -0
- package/starter/templates/pitch-deck/preview.tsx +142 -0
- package/starter/templates/pitch-deck/starter.tsx +140 -0
- package/starter/templates/pitch-deck/template.json +15 -0
- package/starter/templates/proposal-deck/AGENTS.md +25 -0
- package/starter/templates/proposal-deck/index.tsx +52 -0
- package/starter/templates/proposal-deck/preview.tsx +172 -0
- package/starter/templates/proposal-deck/starter.tsx +168 -0
- package/starter/templates/proposal-deck/template.json +7 -0
- package/starter/templates/quotation/AGENTS.md +13 -0
- package/starter/templates/quotation/README.md +42 -0
- package/starter/templates/quotation/data.json +64 -0
- package/starter/templates/quotation/examples/long.json +272 -0
- package/starter/templates/quotation/examples/sparse.json +31 -0
- package/starter/templates/quotation/examples/typical.json +64 -0
- package/starter/templates/quotation/index.tsx +51 -0
- package/starter/templates/quotation/preview.tsx +12 -0
- package/starter/templates/quotation/schema.ts +27 -0
- package/starter/templates/quotation/starter.tsx +12 -0
- package/starter/templates/quotation/template.json +11 -0
- package/starter/templates/scientific-paper/AGENTS.md +11 -0
- package/starter/templates/scientific-paper/README.md +13 -0
- package/starter/templates/scientific-paper/index.tsx +47 -0
- package/starter/templates/scientific-paper/preview.tsx +43 -0
- package/starter/templates/scientific-paper/starter.tsx +15 -0
- package/starter/templates/scientific-paper/template.json +11 -0
- package/starter/themes/Specimen.tsx +54 -0
- package/starter/themes/civic-spectrum/components.tsx +92 -0
- package/starter/themes/civic-spectrum/design.md +70 -0
- package/starter/themes/civic-spectrum/index.ts +57 -0
- package/starter/themes/civic-spectrum/preview.tsx +66 -0
- package/starter/themes/field-manual/components.tsx +106 -0
- package/starter/themes/field-manual/design.md +72 -0
- package/starter/themes/field-manual/index.ts +57 -0
- package/starter/themes/field-manual/preview.tsx +82 -0
- package/starter/themes/index.ts +3 -0
- package/starter/themes/mckinsey-consulting/components.tsx +69 -0
- package/starter/themes/mckinsey-consulting/design.md +68 -0
- package/starter/themes/mckinsey-consulting/index.ts +60 -0
- package/starter/themes/mckinsey-consulting/preview.tsx +53 -0
- package/starter/themes/neutral/design.md +35 -0
- package/starter/themes/neutral/index.ts +21 -0
- package/starter/themes/neutral/preview.tsx +4 -0
- package/starter/themes/opendoc-neutral/components.tsx +77 -0
- package/starter/themes/opendoc-neutral/design.md +70 -0
- package/starter/themes/opendoc-neutral/index.ts +54 -0
- package/starter/themes/opendoc-neutral/preview.tsx +43 -0
- package/starter/themes/types.ts +3 -0
- package/tsconfig.workspace.json +24 -0
- package/vendor/formepdf/LICENSE +21 -0
- package/vendor/formepdf/README.md +97 -0
- package/vendor/formepdf/font-subset.patch +228 -0
- package/vendor/formepdf/text-writer.patch +507 -0
|
@@ -0,0 +1,519 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Keeping the work moving as the register grows",
|
|
4
|
+
"organization": "Northline Studio",
|
|
5
|
+
"preparedBy": "Operations team",
|
|
6
|
+
"period": {
|
|
7
|
+
"start": "2026-08-01",
|
|
8
|
+
"end": "2026-08-31"
|
|
9
|
+
},
|
|
10
|
+
"issuedOn": "2026-09-04",
|
|
11
|
+
"synthetic": true,
|
|
12
|
+
"sourceNote": "Synthetic OpenDoc stress example. Every organization, person, measure, and activity is invented to test long prose, repeated table headers, and stable record identities. This is not operational evidence.",
|
|
13
|
+
"summary": "August was a month of consolidation. The team completed more work with fewer late handoffs, while the oldest unresolved requests continued to absorb attention. The clearest improvement came from a simple change: every new assignment began with a named owner and a written definition of completion. That reduced the time spent deciding who should move a piece of work forward. The remaining constraint is capacity in final review. Adding more work at the front of the process would increase waiting time unless that constraint is addressed. September should therefore focus on closing the oldest requests, protecting review time, and testing a second reviewer on one service line before making a wider commitment. This extended edition includes a complete register of follow-up work. The register deliberately preserves detail that would be lost in a short scorecard: which part of the process each commitment affects, who owns the next move, and when that move is due. The length is purposeful. A reliable report must remain readable when a quiet month becomes a busy one, without requiring its author to repair individual page breaks. Readers can use the section outline to move between interpretation and the register, while the running title and page numbers maintain context.",
|
|
14
|
+
"metrics": [
|
|
15
|
+
{
|
|
16
|
+
"id": "completed-requests",
|
|
17
|
+
"label": "Requests completed",
|
|
18
|
+
"value": 86,
|
|
19
|
+
"target": 80,
|
|
20
|
+
"precision": 0,
|
|
21
|
+
"note": "Six above plan; the work mix was broadly unchanged."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "on-time-delivery",
|
|
25
|
+
"label": "Delivered on time",
|
|
26
|
+
"value": 91.9,
|
|
27
|
+
"target": 95,
|
|
28
|
+
"unit": "%",
|
|
29
|
+
"precision": 1,
|
|
30
|
+
"note": "Final review caused five of the seven late handoffs."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "median-cycle",
|
|
34
|
+
"label": "Median cycle time",
|
|
35
|
+
"value": 4.2,
|
|
36
|
+
"target": 4,
|
|
37
|
+
"unit": "days",
|
|
38
|
+
"precision": 1,
|
|
39
|
+
"note": "Calendar days from accepted brief to delivery."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "open-backlog",
|
|
43
|
+
"label": "Open at month end",
|
|
44
|
+
"value": 23,
|
|
45
|
+
"precision": 0,
|
|
46
|
+
"note": "Eight requests are more than ten days old."
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"highlights": [
|
|
50
|
+
{
|
|
51
|
+
"id": "clearer-starts",
|
|
52
|
+
"title": "A clearer start reduced avoidable returns",
|
|
53
|
+
"body": "The intake checklist now asks for one decision owner, the expected output, and the date on which it becomes useful. Reviewers returned fewer briefs for clarification, and the weekly planning meeting spent less time reconstructing context. The change is deliberately small: the checklist remains on the assignment itself, where both the requester and the team can see it. It does not create a separate approval queue."
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "review-capacity",
|
|
57
|
+
"title": "The bottleneck moved into final review",
|
|
58
|
+
"body": "Most assignments passed through preparation without difficulty, but review demand was concentrated in the last week. Work arriving together competed for the same specialist. The result was a set of late handoffs that had little to do with the quality of the original brief. A protected review session twice a week is the next experiment. Its purpose is to make capacity visible early enough to adjust commitments."
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "oldest-work",
|
|
62
|
+
"title": "The oldest requests need individual decisions",
|
|
63
|
+
"body": "The eight requests older than ten days are not one problem. Three need a decision from the requester, two are waiting for missing material, and three require specialist review. The team will give each request an explicit next step and a named decision date. Closing the register administratively would improve the count while leaving the underlying work unresolved, so completion will continue to require a delivered or explicitly cancelled outcome."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "brief-quality",
|
|
67
|
+
"title": "Brief quality is improving",
|
|
68
|
+
"body": "A good brief makes an assignment easier to begin and easier to finish. The current checklist asks the requester to describe the intended reader, the decision the work supports, and the form the answer should take. These questions expose uncertainty while it is still inexpensive to resolve. The team is tracking clarification requests alongside completion counts because faster delivery is of limited value when the result answers the wrong question."
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "handoff-notes",
|
|
72
|
+
"title": "Handoff notes make incomplete work legible",
|
|
73
|
+
"body": "Several assignments pass between two people before review. The new handoff note records what has been completed, what remains uncertain, and the next useful action. It does not repeat the full history. A short note is most useful when it gives the recipient enough context to move immediately. The team will inspect a small sample at the next review to check whether the note saves time or merely adds another writing task."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "small-batches",
|
|
77
|
+
"title": "Smaller batches reduce waiting",
|
|
78
|
+
"body": "Work released to review in a single batch tends to wait together. Smaller releases may shorten that queue, but the effect depends on reviewer availability and the cost of switching between assignments. The team will try smaller batches on one service line first, with a fixed review window. The experiment will compare time spent waiting, number of returns, and the amount of reviewer time required per completed assignment."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "requester-response",
|
|
82
|
+
"title": "Requester response needs an explicit deadline",
|
|
83
|
+
"body": "A request that is waiting for a decision can remain technically open for weeks without anyone acting. The register now distinguishes work the team can advance from work that requires an external answer. When an answer is needed, the owner records the question and a date for follow-up. The purpose is to create an honest account of what is blocking progress, rather than to attribute every delay to the delivery team."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "definitions",
|
|
87
|
+
"title": "Definitions are part of the work",
|
|
88
|
+
"body": "Two teams can produce different completion counts from the same register if they use different rules. This month the operational definition of completion was written next to the scorecard: the output has been delivered and accepted, or the requester has explicitly cancelled it. Drafts sent for comment are still in progress. The definition will remain stable across reporting periods unless there is a documented reason to change it."
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"id": "capacity-view",
|
|
92
|
+
"title": "Capacity needs a forward view",
|
|
93
|
+
"body": "A month-end scorecard shows what already happened. The next planning review will also examine accepted work due in the coming fortnight. This makes it possible to discuss a likely capacity conflict while dates can still be negotiated. Tentative demand will be shown separately from accepted assignments. The distinction matters because a speculative opportunity should not silently displace a commitment that the team has already made."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "review-learning",
|
|
97
|
+
"title": "Review should leave useful learning behind",
|
|
98
|
+
"body": "When a reviewer returns an assignment, the reason should be specific enough to improve the next attempt. A note such as needs more work does not tell the author what to change. The pilot will use a short set of categories, followed by one concrete observation. The categories are aids to conversation, not a quality score. Repeated patterns will be discussed in the weekly review without naming individuals in the report."
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"risks": [
|
|
102
|
+
{
|
|
103
|
+
"id": "single-reviewer",
|
|
104
|
+
"title": "Review depends on one specialist",
|
|
105
|
+
"level": "high",
|
|
106
|
+
"owner": "Maya Chen",
|
|
107
|
+
"mitigation": "A planned absence could delay several active assignments at once. Pair a second reviewer with the specialist on one service line, record the review criteria, and compare decisions before expanding the arrangement. The immediate aim is dependable cover, with quality checked on a small sample."
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "uncertain-demand",
|
|
111
|
+
"title": "September demand is uneven",
|
|
112
|
+
"level": "medium",
|
|
113
|
+
"owner": "Jon Bell",
|
|
114
|
+
"mitigation": "Two possible assignments have not yet been confirmed. Keep them visible in the capacity review, but do not count them as accepted work or reserve a full delivery slot. Confirm scope and timing with the requesters before changing existing commitments."
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "definition-drift",
|
|
118
|
+
"title": "Definitions may drift across service lines",
|
|
119
|
+
"level": "medium",
|
|
120
|
+
"owner": "Ari Patel",
|
|
121
|
+
"mitigation": "Use one completed-work definition for the reporting period. Record any proposed change with the reason, the first period it affects, and whether historical measures can be compared. Do not revise previous figures silently."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "unowned-dependencies",
|
|
125
|
+
"title": "External dependencies can become unowned",
|
|
126
|
+
"level": "high",
|
|
127
|
+
"owner": "Jon Bell",
|
|
128
|
+
"mitigation": "Give every waiting item a named owner and a dated next action, even when the answer must come from outside the team. Escalate unresolved dependencies through the existing review instead of creating a separate tracking system."
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "late-scope-change",
|
|
132
|
+
"title": "Late scope changes can erase the original commitment",
|
|
133
|
+
"level": "medium",
|
|
134
|
+
"owner": "Maya Chen",
|
|
135
|
+
"mitigation": "When a requester changes the intended output, record the new scope and date next to the original agreement. Review the effect on other accepted work before promising a revised delivery date."
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "quality-shortcut",
|
|
139
|
+
"title": "Throughput targets can encourage premature completion",
|
|
140
|
+
"level": "high",
|
|
141
|
+
"owner": "Ari Patel",
|
|
142
|
+
"mitigation": "Keep acceptance in the completion definition and inspect a small sample of recently closed requests. Discuss returns and rework with the completion count so that a faster close does not conceal an unfinished outcome."
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": "review-fatigue",
|
|
146
|
+
"title": "Review demand can crowd out preparation",
|
|
147
|
+
"level": "medium",
|
|
148
|
+
"owner": "Maya Chen",
|
|
149
|
+
"mitigation": "Keep review sessions bounded and publish the work ready for each session in advance. If demand persistently exceeds available time, reduce accepted scope or change the capacity plan explicitly."
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": "register-maintenance",
|
|
153
|
+
"title": "The register can become expensive to maintain",
|
|
154
|
+
"level": "low",
|
|
155
|
+
"owner": "Operations team",
|
|
156
|
+
"mitigation": "Remove fields that do not support a decision. Owners should update the next action and status where they already work, with the monthly report generated from the same information rather than a second manually maintained copy."
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"actions": [
|
|
160
|
+
{
|
|
161
|
+
"id": "harbor-review-cycle-1",
|
|
162
|
+
"title": "Harbor, review cycle 1. Confirm the requester and the accepted completion test for the open brief.",
|
|
163
|
+
"owner": "Maya Chen",
|
|
164
|
+
"due": "2026-09-08",
|
|
165
|
+
"status": "planned"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"id": "juniper-review-cycle-1",
|
|
169
|
+
"title": "Juniper, review cycle 1. Collect the missing source material and record any remaining gaps before review.",
|
|
170
|
+
"owner": "Jon Bell",
|
|
171
|
+
"due": "2026-09-09",
|
|
172
|
+
"status": "in-progress"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"id": "orchard-review-cycle-1",
|
|
176
|
+
"title": "Orchard, review cycle 1. Pair the service-line reviewer with a second reviewer on a completed example.",
|
|
177
|
+
"owner": "Ari Patel",
|
|
178
|
+
"due": "2026-09-10",
|
|
179
|
+
"status": "complete"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"id": "beacon-review-cycle-1",
|
|
183
|
+
"title": "Beacon, review cycle 1. Agree the next decision date with the requester and update the active register.",
|
|
184
|
+
"owner": "Operations team",
|
|
185
|
+
"due": "2026-09-11",
|
|
186
|
+
"status": "planned"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"id": "cedar-review-cycle-1",
|
|
190
|
+
"title": "Cedar, review cycle 1. Check the handoff note for a clear next action and an identified owner.",
|
|
191
|
+
"owner": "Maya Chen",
|
|
192
|
+
"due": "2026-09-12",
|
|
193
|
+
"status": "in-progress"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"id": "willow-review-cycle-1",
|
|
197
|
+
"title": "Willow, review cycle 1. Review accepted work due in the next fortnight against available review time.",
|
|
198
|
+
"owner": "Jon Bell",
|
|
199
|
+
"due": "2026-09-13",
|
|
200
|
+
"status": "complete"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"id": "meadow-review-cycle-1",
|
|
204
|
+
"title": "Meadow, review cycle 1. Inspect recently closed work for acceptance and document any necessary return.",
|
|
205
|
+
"owner": "Ari Patel",
|
|
206
|
+
"due": "2026-09-14",
|
|
207
|
+
"status": "planned"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"id": "summit-review-cycle-1",
|
|
211
|
+
"title": "Summit, review cycle 1. Update the operating definition where a repeated ambiguity has been observed.",
|
|
212
|
+
"owner": "Operations team",
|
|
213
|
+
"due": "2026-09-15",
|
|
214
|
+
"status": "in-progress"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"id": "harbor-review-cycle-2",
|
|
218
|
+
"title": "Harbor, review cycle 2. Confirm the requester and the accepted completion test for the open brief.",
|
|
219
|
+
"owner": "Maya Chen",
|
|
220
|
+
"due": "2026-09-16",
|
|
221
|
+
"status": "complete"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"id": "juniper-review-cycle-2",
|
|
225
|
+
"title": "Juniper, review cycle 2. Collect the missing source material and record any remaining gaps before review.",
|
|
226
|
+
"owner": "Jon Bell",
|
|
227
|
+
"due": "2026-09-17",
|
|
228
|
+
"status": "planned"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"id": "orchard-review-cycle-2",
|
|
232
|
+
"title": "Orchard, review cycle 2. Pair the service-line reviewer with a second reviewer on a completed example.",
|
|
233
|
+
"owner": "Ari Patel",
|
|
234
|
+
"due": "2026-09-18",
|
|
235
|
+
"status": "in-progress"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"id": "beacon-review-cycle-2",
|
|
239
|
+
"title": "Beacon, review cycle 2. Agree the next decision date with the requester and update the active register.",
|
|
240
|
+
"owner": "Operations team",
|
|
241
|
+
"due": "2026-09-19",
|
|
242
|
+
"status": "complete"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"id": "cedar-review-cycle-2",
|
|
246
|
+
"title": "Cedar, review cycle 2. Check the handoff note for a clear next action and an identified owner.",
|
|
247
|
+
"owner": "Maya Chen",
|
|
248
|
+
"due": "2026-09-20",
|
|
249
|
+
"status": "planned"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"id": "willow-review-cycle-2",
|
|
253
|
+
"title": "Willow, review cycle 2. Review accepted work due in the next fortnight against available review time.",
|
|
254
|
+
"owner": "Jon Bell",
|
|
255
|
+
"due": "2026-09-21",
|
|
256
|
+
"status": "in-progress"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": "meadow-review-cycle-2",
|
|
260
|
+
"title": "Meadow, review cycle 2. Inspect recently closed work for acceptance and document any necessary return.",
|
|
261
|
+
"owner": "Ari Patel",
|
|
262
|
+
"due": "2026-09-22",
|
|
263
|
+
"status": "complete"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"id": "summit-review-cycle-2",
|
|
267
|
+
"title": "Summit, review cycle 2. Update the operating definition where a repeated ambiguity has been observed.",
|
|
268
|
+
"owner": "Operations team",
|
|
269
|
+
"due": "2026-09-23",
|
|
270
|
+
"status": "planned"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"id": "harbor-review-cycle-3",
|
|
274
|
+
"title": "Harbor, review cycle 3. Confirm the requester and the accepted completion test for the open brief.",
|
|
275
|
+
"owner": "Maya Chen",
|
|
276
|
+
"due": "2026-09-24",
|
|
277
|
+
"status": "in-progress"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"id": "juniper-review-cycle-3",
|
|
281
|
+
"title": "Juniper, review cycle 3. Collect the missing source material and record any remaining gaps before review.",
|
|
282
|
+
"owner": "Jon Bell",
|
|
283
|
+
"due": "2026-09-25",
|
|
284
|
+
"status": "complete"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"id": "orchard-review-cycle-3",
|
|
288
|
+
"title": "Orchard, review cycle 3. Pair the service-line reviewer with a second reviewer on a completed example.",
|
|
289
|
+
"owner": "Ari Patel",
|
|
290
|
+
"due": "2026-09-26",
|
|
291
|
+
"status": "planned"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"id": "beacon-review-cycle-3",
|
|
295
|
+
"title": "Beacon, review cycle 3. Agree the next decision date with the requester and update the active register.",
|
|
296
|
+
"owner": "Operations team",
|
|
297
|
+
"due": "2026-09-27",
|
|
298
|
+
"status": "in-progress"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"id": "cedar-review-cycle-3",
|
|
302
|
+
"title": "Cedar, review cycle 3. Check the handoff note for a clear next action and an identified owner.",
|
|
303
|
+
"owner": "Maya Chen",
|
|
304
|
+
"due": "2026-09-28",
|
|
305
|
+
"status": "complete"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"id": "willow-review-cycle-3",
|
|
309
|
+
"title": "Willow, review cycle 3. Review accepted work due in the next fortnight against available review time.",
|
|
310
|
+
"owner": "Jon Bell",
|
|
311
|
+
"due": "2026-09-29",
|
|
312
|
+
"status": "planned"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"id": "meadow-review-cycle-3",
|
|
316
|
+
"title": "Meadow, review cycle 3. Inspect recently closed work for acceptance and document any necessary return.",
|
|
317
|
+
"owner": "Ari Patel",
|
|
318
|
+
"due": "2026-09-30",
|
|
319
|
+
"status": "in-progress"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"id": "summit-review-cycle-3",
|
|
323
|
+
"title": "Summit, review cycle 3. Update the operating definition where a repeated ambiguity has been observed.",
|
|
324
|
+
"owner": "Operations team",
|
|
325
|
+
"due": "2026-09-08",
|
|
326
|
+
"status": "complete"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "harbor-review-cycle-4",
|
|
330
|
+
"title": "Harbor, review cycle 4. Confirm the requester and the accepted completion test for the open brief.",
|
|
331
|
+
"owner": "Maya Chen",
|
|
332
|
+
"due": "2026-09-09",
|
|
333
|
+
"status": "planned"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"id": "juniper-review-cycle-4",
|
|
337
|
+
"title": "Juniper, review cycle 4. Collect the missing source material and record any remaining gaps before review.",
|
|
338
|
+
"owner": "Jon Bell",
|
|
339
|
+
"due": "2026-09-10",
|
|
340
|
+
"status": "in-progress"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"id": "orchard-review-cycle-4",
|
|
344
|
+
"title": "Orchard, review cycle 4. Pair the service-line reviewer with a second reviewer on a completed example.",
|
|
345
|
+
"owner": "Ari Patel",
|
|
346
|
+
"due": "2026-09-11",
|
|
347
|
+
"status": "complete"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"id": "beacon-review-cycle-4",
|
|
351
|
+
"title": "Beacon, review cycle 4. Agree the next decision date with the requester and update the active register.",
|
|
352
|
+
"owner": "Operations team",
|
|
353
|
+
"due": "2026-09-12",
|
|
354
|
+
"status": "planned"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"id": "cedar-review-cycle-4",
|
|
358
|
+
"title": "Cedar, review cycle 4. Check the handoff note for a clear next action and an identified owner.",
|
|
359
|
+
"owner": "Maya Chen",
|
|
360
|
+
"due": "2026-09-13",
|
|
361
|
+
"status": "in-progress"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"id": "willow-review-cycle-4",
|
|
365
|
+
"title": "Willow, review cycle 4. Review accepted work due in the next fortnight against available review time.",
|
|
366
|
+
"owner": "Jon Bell",
|
|
367
|
+
"due": "2026-09-14",
|
|
368
|
+
"status": "complete"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"id": "meadow-review-cycle-4",
|
|
372
|
+
"title": "Meadow, review cycle 4. Inspect recently closed work for acceptance and document any necessary return.",
|
|
373
|
+
"owner": "Ari Patel",
|
|
374
|
+
"due": "2026-09-15",
|
|
375
|
+
"status": "planned"
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"id": "summit-review-cycle-4",
|
|
379
|
+
"title": "Summit, review cycle 4. Update the operating definition where a repeated ambiguity has been observed.",
|
|
380
|
+
"owner": "Operations team",
|
|
381
|
+
"due": "2026-09-16",
|
|
382
|
+
"status": "in-progress"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"id": "harbor-review-cycle-5",
|
|
386
|
+
"title": "Harbor, review cycle 5. Confirm the requester and the accepted completion test for the open brief.",
|
|
387
|
+
"owner": "Maya Chen",
|
|
388
|
+
"due": "2026-09-17",
|
|
389
|
+
"status": "complete"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"id": "juniper-review-cycle-5",
|
|
393
|
+
"title": "Juniper, review cycle 5. Collect the missing source material and record any remaining gaps before review.",
|
|
394
|
+
"owner": "Jon Bell",
|
|
395
|
+
"due": "2026-09-18",
|
|
396
|
+
"status": "planned"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"id": "orchard-review-cycle-5",
|
|
400
|
+
"title": "Orchard, review cycle 5. Pair the service-line reviewer with a second reviewer on a completed example.",
|
|
401
|
+
"owner": "Ari Patel",
|
|
402
|
+
"due": "2026-09-19",
|
|
403
|
+
"status": "in-progress"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"id": "beacon-review-cycle-5",
|
|
407
|
+
"title": "Beacon, review cycle 5. Agree the next decision date with the requester and update the active register.",
|
|
408
|
+
"owner": "Operations team",
|
|
409
|
+
"due": "2026-09-20",
|
|
410
|
+
"status": "complete"
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"id": "cedar-review-cycle-5",
|
|
414
|
+
"title": "Cedar, review cycle 5. Check the handoff note for a clear next action and an identified owner.",
|
|
415
|
+
"owner": "Maya Chen",
|
|
416
|
+
"due": "2026-09-21",
|
|
417
|
+
"status": "planned"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"id": "willow-review-cycle-5",
|
|
421
|
+
"title": "Willow, review cycle 5. Review accepted work due in the next fortnight against available review time.",
|
|
422
|
+
"owner": "Jon Bell",
|
|
423
|
+
"due": "2026-09-22",
|
|
424
|
+
"status": "in-progress"
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"id": "meadow-review-cycle-5",
|
|
428
|
+
"title": "Meadow, review cycle 5. Inspect recently closed work for acceptance and document any necessary return.",
|
|
429
|
+
"owner": "Ari Patel",
|
|
430
|
+
"due": "2026-09-23",
|
|
431
|
+
"status": "complete"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"id": "summit-review-cycle-5",
|
|
435
|
+
"title": "Summit, review cycle 5. Update the operating definition where a repeated ambiguity has been observed.",
|
|
436
|
+
"owner": "Operations team",
|
|
437
|
+
"due": "2026-09-24",
|
|
438
|
+
"status": "planned"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"id": "harbor-review-cycle-6",
|
|
442
|
+
"title": "Harbor, review cycle 6. Confirm the requester and the accepted completion test for the open brief.",
|
|
443
|
+
"owner": "Maya Chen",
|
|
444
|
+
"due": "2026-09-25",
|
|
445
|
+
"status": "in-progress"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"id": "juniper-review-cycle-6",
|
|
449
|
+
"title": "Juniper, review cycle 6. Collect the missing source material and record any remaining gaps before review.",
|
|
450
|
+
"owner": "Jon Bell",
|
|
451
|
+
"due": "2026-09-26",
|
|
452
|
+
"status": "complete"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"id": "orchard-review-cycle-6",
|
|
456
|
+
"title": "Orchard, review cycle 6. Pair the service-line reviewer with a second reviewer on a completed example.",
|
|
457
|
+
"owner": "Ari Patel",
|
|
458
|
+
"due": "2026-09-27",
|
|
459
|
+
"status": "planned"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"id": "beacon-review-cycle-6",
|
|
463
|
+
"title": "Beacon, review cycle 6. Agree the next decision date with the requester and update the active register.",
|
|
464
|
+
"owner": "Operations team",
|
|
465
|
+
"due": "2026-09-28",
|
|
466
|
+
"status": "in-progress"
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"id": "cedar-review-cycle-6",
|
|
470
|
+
"title": "Cedar, review cycle 6. Check the handoff note for a clear next action and an identified owner.",
|
|
471
|
+
"owner": "Maya Chen",
|
|
472
|
+
"due": "2026-09-29",
|
|
473
|
+
"status": "complete"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"id": "willow-review-cycle-6",
|
|
477
|
+
"title": "Willow, review cycle 6. Review accepted work due in the next fortnight against available review time.",
|
|
478
|
+
"owner": "Jon Bell",
|
|
479
|
+
"due": "2026-09-30",
|
|
480
|
+
"status": "planned"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"id": "meadow-review-cycle-6",
|
|
484
|
+
"title": "Meadow, review cycle 6. Inspect recently closed work for acceptance and document any necessary return.",
|
|
485
|
+
"owner": "Ari Patel",
|
|
486
|
+
"due": "2026-09-08",
|
|
487
|
+
"status": "in-progress"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"id": "summit-review-cycle-6",
|
|
491
|
+
"title": "Summit, review cycle 6. Update the operating definition where a repeated ambiguity has been observed.",
|
|
492
|
+
"owner": "Operations team",
|
|
493
|
+
"due": "2026-09-09",
|
|
494
|
+
"status": "complete"
|
|
495
|
+
}
|
|
496
|
+
],
|
|
497
|
+
"notes": [
|
|
498
|
+
{
|
|
499
|
+
"id": "measurement-window",
|
|
500
|
+
"title": "The measurement window",
|
|
501
|
+
"body": "Completed requests and on-time delivery include work delivered during August, even when it began earlier. Cycle time uses the same completed group. The open register is a separate snapshot taken at the end of the month. These measures should not be added together as if they were counts of the same population."
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"id": "interpretation",
|
|
505
|
+
"title": "How to read the targets",
|
|
506
|
+
"body": "The targets are planning thresholds supplied with this example. A result above a target is not automatically better: lower cycle time is desirable, while a higher completion count may reflect a change in work mix. Interpret each value alongside its definition and the narrative before drawing a conclusion."
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"id": "status-meaning",
|
|
510
|
+
"title": "The meaning of action status",
|
|
511
|
+
"body": "Planned means that an owner and intended action are recorded. In progress means that the owner has begun the work. Complete means that the supplied record reports the action as finished. These labels describe different states of work; they are not percentages of effort. The report does not infer a state from a due date or manufacture a completion claim from a missing update."
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"id": "long-edition",
|
|
515
|
+
"title": "Why this edition is longer",
|
|
516
|
+
"body": "This example deliberately includes an extended narrative and forty-eight action records. The content is synthetic and is intended to exercise natural pagination, repeated table headings, and readable continuation across several pages. A real report should include detail only when it helps its intended reader make or examine a decision. A template that can hold a long register does not require every report to become one."
|
|
517
|
+
}
|
|
518
|
+
]
|
|
519
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "The first month of a simpler routine",
|
|
4
|
+
"organization": "Northline Studio",
|
|
5
|
+
"period": { "start": "2026-07-01", "end": "2026-07-31" },
|
|
6
|
+
"issuedOn": "2026-08-03",
|
|
7
|
+
"synthetic": true,
|
|
8
|
+
"sourceNote": "Synthetic OpenDoc example. All figures and activities are illustrative; no real organizational records were used.",
|
|
9
|
+
"summary": "The team began recording requests in one shared local register. Twelve assignments were completed during the month. There is not yet enough consistent history to set a useful cycle-time target. The next step is to agree a clear definition of completion and use it for every new assignment.",
|
|
10
|
+
"metrics": [
|
|
11
|
+
{ "id": "completed-requests", "label": "Requests completed", "value": 12, "target": null },
|
|
12
|
+
{ "id": "open-backlog", "label": "Open at month end", "value": 4 }
|
|
13
|
+
],
|
|
14
|
+
"highlights": null,
|
|
15
|
+
"risks": [],
|
|
16
|
+
"actions": [
|
|
17
|
+
{ "id": "completion-definition", "title": "Agree one definition of a completed request.", "owner": "Operations team", "due": "2026-08-07", "status": "planned" }
|
|
18
|
+
],
|
|
19
|
+
"notes": null
|
|
20
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "A steadier month, with room to grow",
|
|
4
|
+
"organization": "Northline Studio",
|
|
5
|
+
"preparedBy": "Operations team",
|
|
6
|
+
"period": { "start": "2026-08-01", "end": "2026-08-31" },
|
|
7
|
+
"issuedOn": "2026-09-04",
|
|
8
|
+
"synthetic": true,
|
|
9
|
+
"sourceNote": "Synthetic demonstration data created for OpenDoc. The measures, narrative, names, risks, and commitments are illustrative and do not describe an actual organization. No external research or operational records were used.",
|
|
10
|
+
"summary": "August was a month of consolidation. The team completed more work with fewer late handoffs, while the oldest unresolved requests continued to absorb attention. The clearest improvement came from a simple change: every new assignment began with a named owner and a written definition of completion. That reduced the time spent deciding who should move a piece of work forward. The remaining constraint is capacity in final review. Adding more work at the front of the process would increase waiting time unless that constraint is addressed. September should therefore focus on closing the oldest requests, protecting review time, and testing a second reviewer on one service line before making a wider commitment.",
|
|
11
|
+
"metrics": [
|
|
12
|
+
{ "id": "completed-requests", "label": "Requests completed", "value": 86, "target": 80, "precision": 0, "note": "Six above plan; the work mix was broadly unchanged." },
|
|
13
|
+
{ "id": "on-time-delivery", "label": "Delivered on time", "value": 91.9, "target": 95, "unit": "%", "precision": 1, "note": "Final review caused five of the seven late handoffs." },
|
|
14
|
+
{ "id": "median-cycle", "label": "Median cycle time", "value": 4.2, "target": 4, "unit": "days", "precision": 1, "note": "Calendar days from accepted brief to delivery." },
|
|
15
|
+
{ "id": "open-backlog", "label": "Open at month end", "value": 23, "precision": 0, "note": "Eight requests are more than ten days old." }
|
|
16
|
+
],
|
|
17
|
+
"highlights": [
|
|
18
|
+
{ "id": "clearer-starts", "title": "A clearer start reduced avoidable returns", "body": "The intake checklist now asks for one decision owner, the expected output, and the date on which it becomes useful. Reviewers returned fewer briefs for clarification, and the weekly planning meeting spent less time reconstructing context. The change is deliberately small: the checklist remains on the assignment itself, where both the requester and the team can see it. It does not create a separate approval queue." },
|
|
19
|
+
{ "id": "review-capacity", "title": "The bottleneck moved into final review", "body": "Most assignments passed through preparation without difficulty, but review demand was concentrated in the last week. Work arriving together competed for the same specialist. The result was a set of late handoffs that had little to do with the quality of the original brief. A protected review session twice a week is the next experiment. Its purpose is to make capacity visible early enough to adjust commitments." },
|
|
20
|
+
{ "id": "oldest-work", "title": "The oldest requests need individual decisions", "body": "The eight requests older than ten days are not one problem. Three need a decision from the requester, two are waiting for missing material, and three require specialist review. The team will give each request an explicit next step and a named decision date. Closing the register administratively would improve the count while leaving the underlying work unresolved, so completion will continue to require a delivered or explicitly cancelled outcome." }
|
|
21
|
+
],
|
|
22
|
+
"risks": [
|
|
23
|
+
{ "id": "single-reviewer", "title": "Review depends on one specialist", "level": "high", "owner": "Maya Chen", "mitigation": "A planned absence could delay several active assignments at once. Pair a second reviewer with the specialist on one service line, record the review criteria, and compare decisions before expanding the arrangement. The immediate aim is dependable cover, with quality checked on a small sample." },
|
|
24
|
+
{ "id": "uncertain-demand", "title": "September demand is uneven", "level": "medium", "owner": "Jon Bell", "mitigation": "Two possible assignments have not yet been confirmed. Keep them visible in the capacity review, but do not count them as accepted work or reserve a full delivery slot. Confirm scope and timing with the requesters before changing existing commitments." }
|
|
25
|
+
],
|
|
26
|
+
"actions": [
|
|
27
|
+
{ "id": "backlog-decisions", "title": "Agree a next step and decision date for every request older than ten days.", "owner": "Jon Bell", "due": "2026-09-08", "status": "in-progress" },
|
|
28
|
+
{ "id": "protect-review", "title": "Reserve two review sessions each week and publish available capacity.", "owner": "Maya Chen", "due": "2026-09-09", "status": "planned" },
|
|
29
|
+
{ "id": "pair-review", "title": "Run a paired review on five assignments from one service line.", "owner": "Maya Chen", "due": "2026-09-18", "status": "planned" },
|
|
30
|
+
{ "id": "intake-audit", "title": "Check a sample of ten new briefs for a named owner and a clear completion test.", "owner": "Ari Patel", "due": "2026-09-21", "status": "planned" },
|
|
31
|
+
{ "id": "next-review", "title": "Review the experiments, late handoffs, and age of unresolved work together.", "owner": "Operations team", "due": "2026-09-30", "status": "planned" }
|
|
32
|
+
],
|
|
33
|
+
"notes": [
|
|
34
|
+
{ "id": "measurement-window", "title": "The measurement window", "body": "Completed requests and on-time delivery include work delivered during August, even when it began earlier. Cycle time uses the same completed group. The open register is a separate snapshot taken at the end of the month. These measures should not be added together as if they were counts of the same population." },
|
|
35
|
+
{ "id": "interpretation", "title": "How to read the targets", "body": "The targets are planning thresholds supplied with this example. A result above a target is not automatically better: lower cycle time is desirable, while a higher completion count may reflect a change in work mix. Interpret each value alongside its definition and the narrative before drawing a conclusion." }
|
|
36
|
+
]
|
|
37
|
+
}
|