@oomol-lab/open-flow 0.1.0-beta.81 → 0.1.0-beta.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +35 -0
  2. package/dist/browser/{FlowCanvas-CrsiDHK8.js → FlowCanvas-ChbukrDh.js} +879 -535
  3. package/dist/browser/{createResourceDialog-CS3u9ga9.js → createResourceDialog-Bi4fUnbD.js} +5 -4
  4. package/dist/browser/{dialog-CFlvkliO.js → dialog-BzoSxhXQ.js} +1 -1
  5. package/dist/browser/{exportPng-BOPfjeEi.js → exportPng-CrAFfOaD.js} +187 -70
  6. package/dist/browser/{flowChanges-CFj5pL4Y.js → flowChanges-C567g-Pc.js} +2675 -93
  7. package/dist/browser/{flowWorkspace-BeQaeJ3e.js → flowWorkspace-rvcneG4q.js} +980 -2621
  8. package/dist/browser/licenses.md +2 -2
  9. package/dist/browser/{markdownContent-frwDfQQU.js → markdownContent-B-GLj5DU.js} +18 -40
  10. package/dist/browser/{markdownContent-CAG_CQfH.js → markdownContent-D8G_oNOe.js} +18 -41
  11. package/dist/browser/preview.css +125 -80
  12. package/dist/browser/preview.js +1093 -379
  13. package/dist/browser/{tooltip-BDcVTNpu.js → tooltip-DGj5pudg.js} +1 -1
  14. package/dist/browser/ui.css +45 -0
  15. package/dist/browser/{dist-CHwj9BhV.js → videoLink-NAWDmBtf.js} +35 -1
  16. package/dist/browser/workbench-contract.d.ts +6 -0
  17. package/dist/browser/workbench.css +296 -251
  18. package/dist/browser/workbench.d.ts +2 -0
  19. package/dist/browser/workbench.js +294 -141
  20. package/dist/browser/{workbenchSelect-Ci0KCYv9.js → workbenchSelect-BIaEVTx6.js} +2 -2
  21. package/dist/browser/{ContentIcon-CMn0c-kl.js → wrapLayout-C4moMKgb.js} +4400 -4148
  22. package/dist/command/index.js +43 -41
  23. package/dist/common/authoring.d.ts +1 -1
  24. package/dist/common/control-api-conformance.js +306 -2
  25. package/dist/common/control-api.d.ts +20 -0
  26. package/dist/common/control-api.js +306 -4
  27. package/dist/common/control-requests.d.ts +3 -5
  28. package/dist/common/control-requests.js +5 -7
  29. package/dist/common/flow-encoding.d.ts +1 -0
  30. package/dist/common/flow-encoding.js +167 -1
  31. package/dist/common/flow-semantics.js +20 -0
  32. package/dist/common/flow-workflowBundle.d.ts +27 -0
  33. package/dist/common/flow-workflowFile.d.ts +2 -0
  34. package/dist/common/flow-workflowReferences.d.ts +4 -0
  35. package/dist/common/mcp.d.ts +2 -0
  36. package/dist/common/mcp.js +312 -4
  37. package/dist/render/browser/licenses.md +4047 -0
  38. package/dist/render/browser/runtime.css +14914 -0
  39. package/dist/render/browser/runtime.js +267526 -0
  40. package/dist/render/common/png.d.ts +32 -0
  41. package/dist/render/node/index.d.ts +11 -0
  42. package/dist/render/node/index.js +9508 -0
  43. package/dist/render/node/licenses.md +75 -0
  44. package/package.json +12 -2
  45. package/src/control/common/api.ts +50 -0
  46. package/src/control/common/flowDecoders.ts +2 -0
  47. package/src/control/common/mcp.ts +4 -4
  48. package/src/control/common/requests.ts +12 -1
  49. package/src/flow/common/encoding.ts +1 -0
  50. package/src/flow/common/workflowBundle.ts +117 -0
  51. package/src/flow/common/workflowFile.ts +4 -0
  52. package/src/flow/common/workflowReferences.ts +20 -0
package/README.md CHANGED
@@ -13,6 +13,41 @@ same singleton share catalog requests, freshness and validation; no Provider pro
13
13
  A Shadow DOM host must load the stylesheet inside its shadow root before mounting the component;
14
14
  Vite hosts can import `@oomol-lab/open-flow/preview.css?url` for the stylesheet URL.
15
15
 
16
+ ## Node PNG rendering
17
+
18
+ On Node.js 20+, install the optional `playwright-core` peer and supply your own
19
+ Chromium Browser. Prepare the browser executable, its system libraries and required
20
+ Chinese fonts yourself. The renderer reuses the Workbench PNG implementation and
21
+ ships its own rendering resources; it does not require a running Workbench service.
22
+
23
+ ```ts
24
+ import { readFile, writeFile } from 'node:fs/promises'
25
+ import { chromium } from 'playwright-core'
26
+ import { flowToPng } from '@oomol-lab/open-flow/render'
27
+
28
+ const browser = await chromium.launch({ executablePath: process.env.CHROMIUM_EXECUTABLE_PATH })
29
+ try {
30
+ const workflow = JSON.parse(await readFile('workflow.openflow.json', 'utf8'))
31
+ const result = await flowToPng(browser, workflow, { language: 'zh-CN', dark: true, frame: true })
32
+ await writeFile('workflow.png', result.buffer)
33
+ } finally {
34
+ await browser.close()
35
+ }
36
+ ```
37
+
38
+ Pass a parsed `.openflow.json` object. Options default to English, light mode and
39
+ no frame; `title` overrides the file name shown in the frame. The result also
40
+ provides `width`, `height` and `hasImagePlaceholders`. Image scale and allocation
41
+ retries adapt automatically. Each call closes its own Context, leaving your Browser
42
+ available for reuse. It validates the file without modifying it or executing nodes.
43
+
44
+ Network access is allowed by default, including requests to private endpoints.
45
+ Set `allowNetwork: false` when rendering untrusted files to block requests in the
46
+ renderer's Context. Bundled rendering resources remain available. The exporter sets
47
+ `hasImagePlaceholders` to `true` when it substitutes an image placeholder. Remote
48
+ node icons may instead use a component fallback or be omitted without setting this
49
+ flag. A `false` value does not guarantee that every remote image loaded.
50
+
16
51
  Install the Task contracts as a development dependency:
17
52
 
18
53
  ```bash