omegon 0.6.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.
Files changed (160) hide show
  1. package/.gitattributes +3 -0
  2. package/AGENTS.md +16 -0
  3. package/LICENSE +15 -0
  4. package/README.md +289 -0
  5. package/bin/pi.mjs +30 -0
  6. package/extensions/00-secrets/index.ts +1126 -0
  7. package/extensions/01-auth/auth.ts +401 -0
  8. package/extensions/01-auth/index.ts +289 -0
  9. package/extensions/auto-compact.ts +42 -0
  10. package/extensions/bootstrap/deps.ts +291 -0
  11. package/extensions/bootstrap/index.ts +811 -0
  12. package/extensions/chronos/chronos.sh +487 -0
  13. package/extensions/chronos/index.ts +148 -0
  14. package/extensions/cleave/assessment.ts +754 -0
  15. package/extensions/cleave/bridge.ts +31 -0
  16. package/extensions/cleave/conflicts.ts +250 -0
  17. package/extensions/cleave/dispatcher.ts +808 -0
  18. package/extensions/cleave/guardrails.ts +426 -0
  19. package/extensions/cleave/index.ts +3121 -0
  20. package/extensions/cleave/lifecycle-emitter.ts +20 -0
  21. package/extensions/cleave/openspec.ts +811 -0
  22. package/extensions/cleave/planner.ts +260 -0
  23. package/extensions/cleave/review.ts +579 -0
  24. package/extensions/cleave/skills.ts +355 -0
  25. package/extensions/cleave/types.ts +261 -0
  26. package/extensions/cleave/workspace.ts +861 -0
  27. package/extensions/cleave/worktree.ts +243 -0
  28. package/extensions/core-renderers.ts +253 -0
  29. package/extensions/dashboard/context-gauge.ts +58 -0
  30. package/extensions/dashboard/file-watch.ts +14 -0
  31. package/extensions/dashboard/footer.ts +1145 -0
  32. package/extensions/dashboard/git.ts +185 -0
  33. package/extensions/dashboard/index.ts +478 -0
  34. package/extensions/dashboard/memory-audit.ts +34 -0
  35. package/extensions/dashboard/overlay-data.ts +705 -0
  36. package/extensions/dashboard/overlay.ts +365 -0
  37. package/extensions/dashboard/render-utils.ts +54 -0
  38. package/extensions/dashboard/types.ts +191 -0
  39. package/extensions/dashboard/uri-helper.ts +45 -0
  40. package/extensions/debug.ts +69 -0
  41. package/extensions/defaults.ts +282 -0
  42. package/extensions/design-tree/dashboard-state.ts +161 -0
  43. package/extensions/design-tree/design-card.ts +362 -0
  44. package/extensions/design-tree/index.ts +2130 -0
  45. package/extensions/design-tree/lifecycle-emitter.ts +41 -0
  46. package/extensions/design-tree/tree.ts +1607 -0
  47. package/extensions/design-tree/types.ts +163 -0
  48. package/extensions/distill.ts +127 -0
  49. package/extensions/effort/index.ts +395 -0
  50. package/extensions/effort/tiers.ts +146 -0
  51. package/extensions/effort/types.ts +105 -0
  52. package/extensions/lib/git-state.ts +227 -0
  53. package/extensions/lib/local-models.ts +157 -0
  54. package/extensions/lib/model-preferences.ts +51 -0
  55. package/extensions/lib/model-routing.ts +720 -0
  56. package/extensions/lib/operator-fallback.ts +205 -0
  57. package/extensions/lib/operator-profile.ts +360 -0
  58. package/extensions/lib/slash-command-bridge.ts +253 -0
  59. package/extensions/lib/typebox-helpers.ts +16 -0
  60. package/extensions/local-inference/index.ts +727 -0
  61. package/extensions/mcp-bridge/README.md +220 -0
  62. package/extensions/mcp-bridge/index.ts +951 -0
  63. package/extensions/mcp-bridge/lib.ts +365 -0
  64. package/extensions/mcp-bridge/mcp.json +3 -0
  65. package/extensions/mcp-bridge/package.json +11 -0
  66. package/extensions/model-budget.ts +752 -0
  67. package/extensions/offline-driver.ts +403 -0
  68. package/extensions/openspec/archive-gate.ts +164 -0
  69. package/extensions/openspec/branch-cleanup.ts +64 -0
  70. package/extensions/openspec/dashboard-state.ts +50 -0
  71. package/extensions/openspec/index.ts +1917 -0
  72. package/extensions/openspec/lifecycle-emitter.ts +65 -0
  73. package/extensions/openspec/lifecycle-files.ts +70 -0
  74. package/extensions/openspec/lifecycle.ts +50 -0
  75. package/extensions/openspec/reconcile.ts +187 -0
  76. package/extensions/openspec/spec.ts +1385 -0
  77. package/extensions/openspec/types.ts +98 -0
  78. package/extensions/project-memory/DESIGN-global-mind.md +198 -0
  79. package/extensions/project-memory/README.md +202 -0
  80. package/extensions/project-memory/api-types.ts +382 -0
  81. package/extensions/project-memory/compaction-policy.ts +29 -0
  82. package/extensions/project-memory/core.ts +164 -0
  83. package/extensions/project-memory/embeddings.ts +230 -0
  84. package/extensions/project-memory/extraction-v2.ts +861 -0
  85. package/extensions/project-memory/factstore.ts +2177 -0
  86. package/extensions/project-memory/index.ts +3459 -0
  87. package/extensions/project-memory/injection-metrics.ts +91 -0
  88. package/extensions/project-memory/jsonl-io.ts +12 -0
  89. package/extensions/project-memory/lifecycle.ts +331 -0
  90. package/extensions/project-memory/migration.ts +293 -0
  91. package/extensions/project-memory/package.json +9 -0
  92. package/extensions/project-memory/sci-renderers.ts +7 -0
  93. package/extensions/project-memory/template.ts +103 -0
  94. package/extensions/project-memory/triggers.ts +52 -0
  95. package/extensions/project-memory/types.ts +102 -0
  96. package/extensions/render/composition/fonts/Inter-Bold.ttf +0 -0
  97. package/extensions/render/composition/fonts/Inter-Regular.ttf +0 -0
  98. package/extensions/render/composition/fonts/Tomorrow-Bold.ttf +0 -0
  99. package/extensions/render/composition/fonts/Tomorrow-Regular.ttf +0 -0
  100. package/extensions/render/composition/package-lock.json +534 -0
  101. package/extensions/render/composition/package.json +22 -0
  102. package/extensions/render/composition/render.mjs +246 -0
  103. package/extensions/render/composition/test-comp.tsx +87 -0
  104. package/extensions/render/composition/types.ts +24 -0
  105. package/extensions/render/excalidraw/UPSTREAM.md +81 -0
  106. package/extensions/render/excalidraw/elements.ts +764 -0
  107. package/extensions/render/excalidraw/index.ts +66 -0
  108. package/extensions/render/excalidraw/types.ts +223 -0
  109. package/extensions/render/excalidraw-renderer/pyproject.toml +8 -0
  110. package/extensions/render/excalidraw-renderer/render_excalidraw.py +182 -0
  111. package/extensions/render/excalidraw-renderer/render_template.html +59 -0
  112. package/extensions/render/index.ts +830 -0
  113. package/extensions/render/native-diagrams/index.ts +57 -0
  114. package/extensions/render/native-diagrams/motifs.ts +542 -0
  115. package/extensions/render/native-diagrams/raster.ts +8 -0
  116. package/extensions/render/native-diagrams/scene.ts +75 -0
  117. package/extensions/render/native-diagrams/spec.ts +204 -0
  118. package/extensions/render/native-diagrams/svg.ts +116 -0
  119. package/extensions/sci-ui.ts +304 -0
  120. package/extensions/session-log.ts +174 -0
  121. package/extensions/shared-state.ts +146 -0
  122. package/extensions/spinner-verbs.ts +91 -0
  123. package/extensions/style.ts +281 -0
  124. package/extensions/terminal-title.ts +191 -0
  125. package/extensions/tool-profile/index.ts +291 -0
  126. package/extensions/tool-profile/profiles.ts +290 -0
  127. package/extensions/types.d.ts +9 -0
  128. package/extensions/vault/index.ts +185 -0
  129. package/extensions/version-check.ts +90 -0
  130. package/extensions/view/index.ts +859 -0
  131. package/extensions/view/uri-resolver.ts +148 -0
  132. package/extensions/web-search/index.ts +182 -0
  133. package/extensions/web-search/providers.ts +121 -0
  134. package/extensions/web-ui/index.ts +110 -0
  135. package/extensions/web-ui/server.ts +265 -0
  136. package/extensions/web-ui/state.ts +462 -0
  137. package/extensions/web-ui/static/index.html +145 -0
  138. package/extensions/web-ui/types.ts +284 -0
  139. package/package.json +76 -0
  140. package/prompts/init.md +75 -0
  141. package/prompts/new-repo.md +54 -0
  142. package/prompts/oci-login.md +56 -0
  143. package/prompts/status.md +50 -0
  144. package/settings.json +4 -0
  145. package/skills/cleave/SKILL.md +218 -0
  146. package/skills/git/SKILL.md +209 -0
  147. package/skills/git/_reference/ci-validation.md +204 -0
  148. package/skills/oci/SKILL.md +338 -0
  149. package/skills/openspec/SKILL.md +346 -0
  150. package/skills/pi-extensions/SKILL.md +191 -0
  151. package/skills/pi-tui/SKILL.md +517 -0
  152. package/skills/python/SKILL.md +189 -0
  153. package/skills/rust/SKILL.md +268 -0
  154. package/skills/security/SKILL.md +206 -0
  155. package/skills/style/SKILL.md +264 -0
  156. package/skills/typescript/SKILL.md +225 -0
  157. package/skills/vault/SKILL.md +102 -0
  158. package/themes/alpharius-legacy.json +85 -0
  159. package/themes/alpharius.conf +59 -0
  160. package/themes/alpharius.json +88 -0
@@ -0,0 +1,534 @@
1
+ {
2
+ "name": "@omegon/composition",
3
+ "version": "0.1.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "@omegon/composition",
9
+ "version": "0.1.0",
10
+ "dependencies": {
11
+ "@resvg/resvg-js": "^2.6.2",
12
+ "gifenc": "^1.0.3",
13
+ "jiti": "^2.4.2",
14
+ "react": "^18.3.1",
15
+ "react-dom": "^18.3.1",
16
+ "satori": "^0.11.2"
17
+ },
18
+ "devDependencies": {
19
+ "@types/react": "^18.3.12",
20
+ "@types/react-dom": "^18.3.1"
21
+ }
22
+ },
23
+ "node_modules/@resvg/resvg-js": {
24
+ "version": "2.6.2",
25
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.6.2.tgz",
26
+ "integrity": "sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==",
27
+ "license": "MPL-2.0",
28
+ "engines": {
29
+ "node": ">= 10"
30
+ },
31
+ "optionalDependencies": {
32
+ "@resvg/resvg-js-android-arm-eabi": "2.6.2",
33
+ "@resvg/resvg-js-android-arm64": "2.6.2",
34
+ "@resvg/resvg-js-darwin-arm64": "2.6.2",
35
+ "@resvg/resvg-js-darwin-x64": "2.6.2",
36
+ "@resvg/resvg-js-linux-arm-gnueabihf": "2.6.2",
37
+ "@resvg/resvg-js-linux-arm64-gnu": "2.6.2",
38
+ "@resvg/resvg-js-linux-arm64-musl": "2.6.2",
39
+ "@resvg/resvg-js-linux-x64-gnu": "2.6.2",
40
+ "@resvg/resvg-js-linux-x64-musl": "2.6.2",
41
+ "@resvg/resvg-js-win32-arm64-msvc": "2.6.2",
42
+ "@resvg/resvg-js-win32-ia32-msvc": "2.6.2",
43
+ "@resvg/resvg-js-win32-x64-msvc": "2.6.2"
44
+ }
45
+ },
46
+ "node_modules/@resvg/resvg-js-android-arm-eabi": {
47
+ "version": "2.6.2",
48
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.2.tgz",
49
+ "integrity": "sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==",
50
+ "cpu": [
51
+ "arm"
52
+ ],
53
+ "license": "MPL-2.0",
54
+ "optional": true,
55
+ "os": [
56
+ "android"
57
+ ],
58
+ "engines": {
59
+ "node": ">= 10"
60
+ }
61
+ },
62
+ "node_modules/@resvg/resvg-js-android-arm64": {
63
+ "version": "2.6.2",
64
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.6.2.tgz",
65
+ "integrity": "sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==",
66
+ "cpu": [
67
+ "arm64"
68
+ ],
69
+ "license": "MPL-2.0",
70
+ "optional": true,
71
+ "os": [
72
+ "android"
73
+ ],
74
+ "engines": {
75
+ "node": ">= 10"
76
+ }
77
+ },
78
+ "node_modules/@resvg/resvg-js-darwin-arm64": {
79
+ "version": "2.6.2",
80
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.6.2.tgz",
81
+ "integrity": "sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==",
82
+ "cpu": [
83
+ "arm64"
84
+ ],
85
+ "license": "MPL-2.0",
86
+ "optional": true,
87
+ "os": [
88
+ "darwin"
89
+ ],
90
+ "engines": {
91
+ "node": ">= 10"
92
+ }
93
+ },
94
+ "node_modules/@resvg/resvg-js-darwin-x64": {
95
+ "version": "2.6.2",
96
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.6.2.tgz",
97
+ "integrity": "sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==",
98
+ "cpu": [
99
+ "x64"
100
+ ],
101
+ "license": "MPL-2.0",
102
+ "optional": true,
103
+ "os": [
104
+ "darwin"
105
+ ],
106
+ "engines": {
107
+ "node": ">= 10"
108
+ }
109
+ },
110
+ "node_modules/@resvg/resvg-js-linux-arm-gnueabihf": {
111
+ "version": "2.6.2",
112
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.6.2.tgz",
113
+ "integrity": "sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==",
114
+ "cpu": [
115
+ "arm"
116
+ ],
117
+ "license": "MPL-2.0",
118
+ "optional": true,
119
+ "os": [
120
+ "linux"
121
+ ],
122
+ "engines": {
123
+ "node": ">= 10"
124
+ }
125
+ },
126
+ "node_modules/@resvg/resvg-js-linux-arm64-gnu": {
127
+ "version": "2.6.2",
128
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.6.2.tgz",
129
+ "integrity": "sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==",
130
+ "cpu": [
131
+ "arm64"
132
+ ],
133
+ "license": "MPL-2.0",
134
+ "optional": true,
135
+ "os": [
136
+ "linux"
137
+ ],
138
+ "engines": {
139
+ "node": ">= 10"
140
+ }
141
+ },
142
+ "node_modules/@resvg/resvg-js-linux-arm64-musl": {
143
+ "version": "2.6.2",
144
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.6.2.tgz",
145
+ "integrity": "sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==",
146
+ "cpu": [
147
+ "arm64"
148
+ ],
149
+ "license": "MPL-2.0",
150
+ "optional": true,
151
+ "os": [
152
+ "linux"
153
+ ],
154
+ "engines": {
155
+ "node": ">= 10"
156
+ }
157
+ },
158
+ "node_modules/@resvg/resvg-js-linux-x64-gnu": {
159
+ "version": "2.6.2",
160
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.6.2.tgz",
161
+ "integrity": "sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==",
162
+ "cpu": [
163
+ "x64"
164
+ ],
165
+ "license": "MPL-2.0",
166
+ "optional": true,
167
+ "os": [
168
+ "linux"
169
+ ],
170
+ "engines": {
171
+ "node": ">= 10"
172
+ }
173
+ },
174
+ "node_modules/@resvg/resvg-js-linux-x64-musl": {
175
+ "version": "2.6.2",
176
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.6.2.tgz",
177
+ "integrity": "sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==",
178
+ "cpu": [
179
+ "x64"
180
+ ],
181
+ "license": "MPL-2.0",
182
+ "optional": true,
183
+ "os": [
184
+ "linux"
185
+ ],
186
+ "engines": {
187
+ "node": ">= 10"
188
+ }
189
+ },
190
+ "node_modules/@resvg/resvg-js-win32-arm64-msvc": {
191
+ "version": "2.6.2",
192
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.6.2.tgz",
193
+ "integrity": "sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==",
194
+ "cpu": [
195
+ "arm64"
196
+ ],
197
+ "license": "MPL-2.0",
198
+ "optional": true,
199
+ "os": [
200
+ "win32"
201
+ ],
202
+ "engines": {
203
+ "node": ">= 10"
204
+ }
205
+ },
206
+ "node_modules/@resvg/resvg-js-win32-ia32-msvc": {
207
+ "version": "2.6.2",
208
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.6.2.tgz",
209
+ "integrity": "sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==",
210
+ "cpu": [
211
+ "ia32"
212
+ ],
213
+ "license": "MPL-2.0",
214
+ "optional": true,
215
+ "os": [
216
+ "win32"
217
+ ],
218
+ "engines": {
219
+ "node": ">= 10"
220
+ }
221
+ },
222
+ "node_modules/@resvg/resvg-js-win32-x64-msvc": {
223
+ "version": "2.6.2",
224
+ "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.6.2.tgz",
225
+ "integrity": "sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==",
226
+ "cpu": [
227
+ "x64"
228
+ ],
229
+ "license": "MPL-2.0",
230
+ "optional": true,
231
+ "os": [
232
+ "win32"
233
+ ],
234
+ "engines": {
235
+ "node": ">= 10"
236
+ }
237
+ },
238
+ "node_modules/@shuding/opentype.js": {
239
+ "version": "1.4.0-beta.0",
240
+ "resolved": "https://registry.npmjs.org/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz",
241
+ "integrity": "sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==",
242
+ "license": "MIT",
243
+ "dependencies": {
244
+ "fflate": "^0.7.3",
245
+ "string.prototype.codepointat": "^0.2.1"
246
+ },
247
+ "bin": {
248
+ "ot": "bin/ot"
249
+ },
250
+ "engines": {
251
+ "node": ">= 8.0.0"
252
+ }
253
+ },
254
+ "node_modules/@types/prop-types": {
255
+ "version": "15.7.15",
256
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
257
+ "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
258
+ "dev": true,
259
+ "license": "MIT"
260
+ },
261
+ "node_modules/@types/react": {
262
+ "version": "18.3.28",
263
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz",
264
+ "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
265
+ "dev": true,
266
+ "license": "MIT",
267
+ "dependencies": {
268
+ "@types/prop-types": "*",
269
+ "csstype": "^3.2.2"
270
+ }
271
+ },
272
+ "node_modules/@types/react-dom": {
273
+ "version": "18.3.7",
274
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
275
+ "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
276
+ "dev": true,
277
+ "license": "MIT",
278
+ "peerDependencies": {
279
+ "@types/react": "^18.0.0"
280
+ }
281
+ },
282
+ "node_modules/base64-js": {
283
+ "version": "0.0.8",
284
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
285
+ "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==",
286
+ "license": "MIT",
287
+ "engines": {
288
+ "node": ">= 0.4"
289
+ }
290
+ },
291
+ "node_modules/camelize": {
292
+ "version": "1.0.1",
293
+ "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
294
+ "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
295
+ "license": "MIT",
296
+ "funding": {
297
+ "url": "https://github.com/sponsors/ljharb"
298
+ }
299
+ },
300
+ "node_modules/color-name": {
301
+ "version": "1.1.4",
302
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
303
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
304
+ "license": "MIT"
305
+ },
306
+ "node_modules/css-background-parser": {
307
+ "version": "0.1.0",
308
+ "resolved": "https://registry.npmjs.org/css-background-parser/-/css-background-parser-0.1.0.tgz",
309
+ "integrity": "sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==",
310
+ "license": "MIT"
311
+ },
312
+ "node_modules/css-box-shadow": {
313
+ "version": "1.0.0-3",
314
+ "resolved": "https://registry.npmjs.org/css-box-shadow/-/css-box-shadow-1.0.0-3.tgz",
315
+ "integrity": "sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==",
316
+ "license": "MIT"
317
+ },
318
+ "node_modules/css-color-keywords": {
319
+ "version": "1.0.0",
320
+ "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
321
+ "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
322
+ "license": "ISC",
323
+ "engines": {
324
+ "node": ">=4"
325
+ }
326
+ },
327
+ "node_modules/css-gradient-parser": {
328
+ "version": "0.0.16",
329
+ "resolved": "https://registry.npmjs.org/css-gradient-parser/-/css-gradient-parser-0.0.16.tgz",
330
+ "integrity": "sha512-3O5QdqgFRUbXvK1x5INf1YkBz1UKSWqrd63vWsum8MNHDBYD5urm3QtxZbKU259OrEXNM26lP/MPY3d1IGkBgA==",
331
+ "license": "MIT",
332
+ "engines": {
333
+ "node": ">=16"
334
+ }
335
+ },
336
+ "node_modules/css-to-react-native": {
337
+ "version": "3.2.0",
338
+ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
339
+ "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
340
+ "license": "MIT",
341
+ "dependencies": {
342
+ "camelize": "^1.0.0",
343
+ "css-color-keywords": "^1.0.0",
344
+ "postcss-value-parser": "^4.0.2"
345
+ }
346
+ },
347
+ "node_modules/csstype": {
348
+ "version": "3.2.3",
349
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
350
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
351
+ "dev": true,
352
+ "license": "MIT"
353
+ },
354
+ "node_modules/emoji-regex": {
355
+ "version": "10.6.0",
356
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
357
+ "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
358
+ "license": "MIT"
359
+ },
360
+ "node_modules/escape-html": {
361
+ "version": "1.0.3",
362
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
363
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
364
+ "license": "MIT"
365
+ },
366
+ "node_modules/fflate": {
367
+ "version": "0.7.4",
368
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz",
369
+ "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==",
370
+ "license": "MIT"
371
+ },
372
+ "node_modules/gifenc": {
373
+ "version": "1.0.3",
374
+ "resolved": "https://registry.npmjs.org/gifenc/-/gifenc-1.0.3.tgz",
375
+ "integrity": "sha512-xdr6AdrfGBcfzncONUOlXMBuc5wJDtOueE3c5rdG0oNgtINLD+f2iFZltrBRZYzACRbKr+mSVU/x98zv2u3jmw==",
376
+ "license": "MIT"
377
+ },
378
+ "node_modules/hex-rgb": {
379
+ "version": "4.3.0",
380
+ "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz",
381
+ "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==",
382
+ "license": "MIT",
383
+ "engines": {
384
+ "node": ">=6"
385
+ },
386
+ "funding": {
387
+ "url": "https://github.com/sponsors/sindresorhus"
388
+ }
389
+ },
390
+ "node_modules/jiti": {
391
+ "version": "2.6.1",
392
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
393
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
394
+ "license": "MIT",
395
+ "bin": {
396
+ "jiti": "lib/jiti-cli.mjs"
397
+ }
398
+ },
399
+ "node_modules/js-tokens": {
400
+ "version": "4.0.0",
401
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
402
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
403
+ "license": "MIT"
404
+ },
405
+ "node_modules/linebreak": {
406
+ "version": "1.1.0",
407
+ "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz",
408
+ "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==",
409
+ "license": "MIT",
410
+ "dependencies": {
411
+ "base64-js": "0.0.8",
412
+ "unicode-trie": "^2.0.0"
413
+ }
414
+ },
415
+ "node_modules/loose-envify": {
416
+ "version": "1.4.0",
417
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
418
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
419
+ "license": "MIT",
420
+ "dependencies": {
421
+ "js-tokens": "^3.0.0 || ^4.0.0"
422
+ },
423
+ "bin": {
424
+ "loose-envify": "cli.js"
425
+ }
426
+ },
427
+ "node_modules/pako": {
428
+ "version": "0.2.9",
429
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
430
+ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==",
431
+ "license": "MIT"
432
+ },
433
+ "node_modules/parse-css-color": {
434
+ "version": "0.2.1",
435
+ "resolved": "https://registry.npmjs.org/parse-css-color/-/parse-css-color-0.2.1.tgz",
436
+ "integrity": "sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==",
437
+ "license": "MIT",
438
+ "dependencies": {
439
+ "color-name": "^1.1.4",
440
+ "hex-rgb": "^4.1.0"
441
+ }
442
+ },
443
+ "node_modules/postcss-value-parser": {
444
+ "version": "4.2.0",
445
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
446
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
447
+ "license": "MIT"
448
+ },
449
+ "node_modules/react": {
450
+ "version": "18.3.1",
451
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
452
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
453
+ "license": "MIT",
454
+ "dependencies": {
455
+ "loose-envify": "^1.1.0"
456
+ },
457
+ "engines": {
458
+ "node": ">=0.10.0"
459
+ }
460
+ },
461
+ "node_modules/react-dom": {
462
+ "version": "18.3.1",
463
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
464
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
465
+ "license": "MIT",
466
+ "dependencies": {
467
+ "loose-envify": "^1.1.0",
468
+ "scheduler": "^0.23.2"
469
+ },
470
+ "peerDependencies": {
471
+ "react": "^18.3.1"
472
+ }
473
+ },
474
+ "node_modules/satori": {
475
+ "version": "0.11.3",
476
+ "resolved": "https://registry.npmjs.org/satori/-/satori-0.11.3.tgz",
477
+ "integrity": "sha512-Wg7sls0iYAEETzi9YYcY16QVIqXjZT06XjkwondC5CGhw1mhmgKBCub8cCmkxdl/naXXQD+m29CFgn8pwtYCnA==",
478
+ "license": "MPL-2.0",
479
+ "dependencies": {
480
+ "@shuding/opentype.js": "1.4.0-beta.0",
481
+ "css-background-parser": "^0.1.0",
482
+ "css-box-shadow": "1.0.0-3",
483
+ "css-gradient-parser": "^0.0.16",
484
+ "css-to-react-native": "^3.0.0",
485
+ "emoji-regex": "^10.2.1",
486
+ "escape-html": "^1.0.3",
487
+ "linebreak": "^1.1.0",
488
+ "parse-css-color": "^0.2.1",
489
+ "postcss-value-parser": "^4.2.0",
490
+ "yoga-wasm-web": "^0.3.3"
491
+ },
492
+ "engines": {
493
+ "node": ">=16"
494
+ }
495
+ },
496
+ "node_modules/scheduler": {
497
+ "version": "0.23.2",
498
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
499
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
500
+ "license": "MIT",
501
+ "dependencies": {
502
+ "loose-envify": "^1.1.0"
503
+ }
504
+ },
505
+ "node_modules/string.prototype.codepointat": {
506
+ "version": "0.2.1",
507
+ "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
508
+ "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==",
509
+ "license": "MIT"
510
+ },
511
+ "node_modules/tiny-inflate": {
512
+ "version": "1.0.3",
513
+ "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
514
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==",
515
+ "license": "MIT"
516
+ },
517
+ "node_modules/unicode-trie": {
518
+ "version": "2.0.0",
519
+ "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz",
520
+ "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==",
521
+ "license": "MIT",
522
+ "dependencies": {
523
+ "pako": "^0.2.5",
524
+ "tiny-inflate": "^1.0.0"
525
+ }
526
+ },
527
+ "node_modules/yoga-wasm-web": {
528
+ "version": "0.3.3",
529
+ "resolved": "https://registry.npmjs.org/yoga-wasm-web/-/yoga-wasm-web-0.3.3.tgz",
530
+ "integrity": "sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==",
531
+ "license": "MIT"
532
+ }
533
+ }
534
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@omegon/composition",
3
+ "version": "0.1.0",
4
+ "description": "Browser-free React → video/image renderer using Satori + resvg + gifenc",
5
+ "type": "module",
6
+ "main": "render.mjs",
7
+ "scripts": {
8
+ "install-fonts": "node -e \"console.log('Fonts should be present in fonts/ directory')\""
9
+ },
10
+ "dependencies": {
11
+ "@resvg/resvg-js": "^2.6.2",
12
+ "gifenc": "^1.0.3",
13
+ "jiti": "^2.4.2",
14
+ "react": "^18.3.1",
15
+ "react-dom": "^18.3.1",
16
+ "satori": "^0.11.2"
17
+ },
18
+ "devDependencies": {
19
+ "@types/react": "^18.3.12",
20
+ "@types/react-dom": "^18.3.1"
21
+ }
22
+ }