@clusterenvision/ui-framework 1.0.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 (193) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +295 -0
  3. package/dist/ai-assistant-Db002XYC.d.ts +92 -0
  4. package/dist/ai-assistant-EobSUV70.d.cts +92 -0
  5. package/dist/browser-DnHpnWwE.d.cts +354 -0
  6. package/dist/browser-Dx4oKf5e.d.ts +354 -0
  7. package/dist/browser-signals-07qodpYT.d.cts +66 -0
  8. package/dist/browser-signals-07qodpYT.d.ts +66 -0
  9. package/dist/browser-signals.cjs +32 -0
  10. package/dist/browser-signals.cjs.map +1 -0
  11. package/dist/browser-signals.d.cts +1 -0
  12. package/dist/browser-signals.d.ts +1 -0
  13. package/dist/browser-signals.js +3 -0
  14. package/dist/browser-signals.js.map +1 -0
  15. package/dist/browser.cjs +197 -0
  16. package/dist/browser.cjs.map +1 -0
  17. package/dist/browser.d.cts +13 -0
  18. package/dist/browser.d.ts +13 -0
  19. package/dist/browser.js +12 -0
  20. package/dist/browser.js.map +1 -0
  21. package/dist/chunk-22HQL2Y4.js +568 -0
  22. package/dist/chunk-22HQL2Y4.js.map +1 -0
  23. package/dist/chunk-3ZBRNFEE.js +1525 -0
  24. package/dist/chunk-3ZBRNFEE.js.map +1 -0
  25. package/dist/chunk-4HRORR2Q.js +1953 -0
  26. package/dist/chunk-4HRORR2Q.js.map +1 -0
  27. package/dist/chunk-4L3UXVL5.cjs +68 -0
  28. package/dist/chunk-4L3UXVL5.cjs.map +1 -0
  29. package/dist/chunk-6BYWFGQY.cjs +226 -0
  30. package/dist/chunk-6BYWFGQY.cjs.map +1 -0
  31. package/dist/chunk-7SCIB5HP.js +57 -0
  32. package/dist/chunk-7SCIB5HP.js.map +1 -0
  33. package/dist/chunk-BBAUALNU.js +888 -0
  34. package/dist/chunk-BBAUALNU.js.map +1 -0
  35. package/dist/chunk-CHLDE4JQ.js +715 -0
  36. package/dist/chunk-CHLDE4JQ.js.map +1 -0
  37. package/dist/chunk-CXTAUXLG.cjs +71 -0
  38. package/dist/chunk-CXTAUXLG.cjs.map +1 -0
  39. package/dist/chunk-D2USIT6V.js +121 -0
  40. package/dist/chunk-D2USIT6V.js.map +1 -0
  41. package/dist/chunk-D3H5CGVD.js +36 -0
  42. package/dist/chunk-D3H5CGVD.js.map +1 -0
  43. package/dist/chunk-DQBX75NJ.js +92 -0
  44. package/dist/chunk-DQBX75NJ.js.map +1 -0
  45. package/dist/chunk-DRPG2DFX.js +208 -0
  46. package/dist/chunk-DRPG2DFX.js.map +1 -0
  47. package/dist/chunk-EFOOXCY7.cjs +41 -0
  48. package/dist/chunk-EFOOXCY7.cjs.map +1 -0
  49. package/dist/chunk-FFCZSYC7.cjs +906 -0
  50. package/dist/chunk-FFCZSYC7.cjs.map +1 -0
  51. package/dist/chunk-FNXIYAET.cjs +1593 -0
  52. package/dist/chunk-FNXIYAET.cjs.map +1 -0
  53. package/dist/chunk-I6GNUM3P.cjs +63 -0
  54. package/dist/chunk-I6GNUM3P.cjs.map +1 -0
  55. package/dist/chunk-IHAMVLRY.js +129 -0
  56. package/dist/chunk-IHAMVLRY.js.map +1 -0
  57. package/dist/chunk-IRBUKIRF.cjs +133 -0
  58. package/dist/chunk-IRBUKIRF.cjs.map +1 -0
  59. package/dist/chunk-KPG5HAHK.cjs +97 -0
  60. package/dist/chunk-KPG5HAHK.cjs.map +1 -0
  61. package/dist/chunk-N7Q2ESLG.cjs +130 -0
  62. package/dist/chunk-N7Q2ESLG.cjs.map +1 -0
  63. package/dist/chunk-PFBEIFVS.js +180 -0
  64. package/dist/chunk-PFBEIFVS.js.map +1 -0
  65. package/dist/chunk-PVZVFICK.cjs +318 -0
  66. package/dist/chunk-PVZVFICK.cjs.map +1 -0
  67. package/dist/chunk-Q3KH6HMU.js +305 -0
  68. package/dist/chunk-Q3KH6HMU.js.map +1 -0
  69. package/dist/chunk-QPAAV32J.cjs +1985 -0
  70. package/dist/chunk-QPAAV32J.cjs.map +1 -0
  71. package/dist/chunk-R6XQUMWT.cjs +61 -0
  72. package/dist/chunk-R6XQUMWT.cjs.map +1 -0
  73. package/dist/chunk-SA5UD5B6.js +92 -0
  74. package/dist/chunk-SA5UD5B6.js.map +1 -0
  75. package/dist/chunk-SM35JOYD.cjs +211 -0
  76. package/dist/chunk-SM35JOYD.cjs.map +1 -0
  77. package/dist/chunk-SZQNIMYI.cjs +592 -0
  78. package/dist/chunk-SZQNIMYI.cjs.map +1 -0
  79. package/dist/chunk-T6T7QE4J.js +224 -0
  80. package/dist/chunk-T6T7QE4J.js.map +1 -0
  81. package/dist/chunk-TIF372DZ.js +65 -0
  82. package/dist/chunk-TIF372DZ.js.map +1 -0
  83. package/dist/chunk-V6JCOBGY.js +69 -0
  84. package/dist/chunk-V6JCOBGY.js.map +1 -0
  85. package/dist/chunk-VHUXNDW2.cjs +189 -0
  86. package/dist/chunk-VHUXNDW2.cjs.map +1 -0
  87. package/dist/chunk-W3LNNY3U.cjs +729 -0
  88. package/dist/chunk-W3LNNY3U.cjs.map +1 -0
  89. package/dist/chunk-ZUWSU4OA.js +61 -0
  90. package/dist/chunk-ZUWSU4OA.js.map +1 -0
  91. package/dist/chunk-ZWUA2LPB.cjs +103 -0
  92. package/dist/chunk-ZWUA2LPB.cjs.map +1 -0
  93. package/dist/cli/index.cjs +566 -0
  94. package/dist/cli/index.cjs.map +1 -0
  95. package/dist/cli/index.d.cts +1 -0
  96. package/dist/cli/index.d.ts +1 -0
  97. package/dist/cli/index.js +558 -0
  98. package/dist/cli/index.js.map +1 -0
  99. package/dist/compiler/index.cjs +80 -0
  100. package/dist/compiler/index.cjs.map +1 -0
  101. package/dist/compiler/index.d.cts +130 -0
  102. package/dist/compiler/index.d.ts +130 -0
  103. package/dist/compiler/index.js +3 -0
  104. package/dist/compiler/index.js.map +1 -0
  105. package/dist/component-BVzvepw9.d.cts +90 -0
  106. package/dist/component-wTxZ2BPD.d.ts +90 -0
  107. package/dist/index-CpxDa60m.d.cts +644 -0
  108. package/dist/index-CpxDa60m.d.ts +644 -0
  109. package/dist/index.cjs +1356 -0
  110. package/dist/index.cjs.map +1 -0
  111. package/dist/index.d.cts +165 -0
  112. package/dist/index.d.ts +165 -0
  113. package/dist/index.js +772 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/lib/dom.cjs +102 -0
  116. package/dist/lib/dom.cjs.map +1 -0
  117. package/dist/lib/dom.d.cts +373 -0
  118. package/dist/lib/dom.d.ts +373 -0
  119. package/dist/lib/dom.js +3 -0
  120. package/dist/lib/dom.js.map +1 -0
  121. package/dist/lib/icons.cjs +20 -0
  122. package/dist/lib/icons.cjs.map +1 -0
  123. package/dist/lib/icons.d.cts +64 -0
  124. package/dist/lib/icons.d.ts +64 -0
  125. package/dist/lib/icons.js +3 -0
  126. package/dist/lib/icons.js.map +1 -0
  127. package/dist/lib/index.cjs +247 -0
  128. package/dist/lib/index.cjs.map +1 -0
  129. package/dist/lib/index.d.cts +30 -0
  130. package/dist/lib/index.d.ts +30 -0
  131. package/dist/lib/index.js +92 -0
  132. package/dist/lib/index.js.map +1 -0
  133. package/dist/lib/theme.cjs +56 -0
  134. package/dist/lib/theme.cjs.map +1 -0
  135. package/dist/lib/theme.d.cts +27 -0
  136. package/dist/lib/theme.d.ts +27 -0
  137. package/dist/lib/theme.js +3 -0
  138. package/dist/lib/theme.js.map +1 -0
  139. package/dist/router-B9kms5XQ.d.ts +124 -0
  140. package/dist/router-YnpW_sIK.d.cts +124 -0
  141. package/dist/runtime/adapters/angular.cjs +48 -0
  142. package/dist/runtime/adapters/angular.cjs.map +1 -0
  143. package/dist/runtime/adapters/angular.d.cts +38 -0
  144. package/dist/runtime/adapters/angular.d.ts +38 -0
  145. package/dist/runtime/adapters/angular.js +46 -0
  146. package/dist/runtime/adapters/angular.js.map +1 -0
  147. package/dist/runtime/adapters/react.cjs +41 -0
  148. package/dist/runtime/adapters/react.cjs.map +1 -0
  149. package/dist/runtime/adapters/react.d.cts +26 -0
  150. package/dist/runtime/adapters/react.d.ts +26 -0
  151. package/dist/runtime/adapters/react.js +39 -0
  152. package/dist/runtime/adapters/react.js.map +1 -0
  153. package/dist/runtime/adapters/vue.cjs +44 -0
  154. package/dist/runtime/adapters/vue.cjs.map +1 -0
  155. package/dist/runtime/adapters/vue.d.cts +37 -0
  156. package/dist/runtime/adapters/vue.d.ts +37 -0
  157. package/dist/runtime/adapters/vue.js +42 -0
  158. package/dist/runtime/adapters/vue.js.map +1 -0
  159. package/dist/runtime/components/ai-assistant.cjs +18 -0
  160. package/dist/runtime/components/ai-assistant.cjs.map +1 -0
  161. package/dist/runtime/components/ai-assistant.d.cts +8 -0
  162. package/dist/runtime/components/ai-assistant.d.ts +8 -0
  163. package/dist/runtime/components/ai-assistant.js +9 -0
  164. package/dist/runtime/components/ai-assistant.js.map +1 -0
  165. package/dist/runtime/components/ai-summary-card.cjs +18 -0
  166. package/dist/runtime/components/ai-summary-card.cjs.map +1 -0
  167. package/dist/runtime/components/ai-summary-card.d.cts +19 -0
  168. package/dist/runtime/components/ai-summary-card.d.ts +19 -0
  169. package/dist/runtime/components/ai-summary-card.js +9 -0
  170. package/dist/runtime/components/ai-summary-card.js.map +1 -0
  171. package/dist/runtime/router.cjs +429 -0
  172. package/dist/runtime/router.cjs.map +1 -0
  173. package/dist/runtime/router.d.cts +2 -0
  174. package/dist/runtime/router.d.ts +2 -0
  175. package/dist/runtime/router.js +421 -0
  176. package/dist/runtime/router.js.map +1 -0
  177. package/dist/runtime/server.cjs +125 -0
  178. package/dist/runtime/server.cjs.map +1 -0
  179. package/dist/runtime/server.d.cts +27 -0
  180. package/dist/runtime/server.d.ts +27 -0
  181. package/dist/runtime/server.js +117 -0
  182. package/dist/runtime/server.js.map +1 -0
  183. package/dist/runtime/workflow/index.cjs +282 -0
  184. package/dist/runtime/workflow/index.cjs.map +1 -0
  185. package/dist/runtime/workflow/index.d.cts +1 -0
  186. package/dist/runtime/workflow/index.d.ts +1 -0
  187. package/dist/runtime/workflow/index.js +5 -0
  188. package/dist/runtime/workflow/index.js.map +1 -0
  189. package/dist/tracing-DGdvMCEl.d.cts +109 -0
  190. package/dist/tracing-DGdvMCEl.d.ts +109 -0
  191. package/dist/types-C4RXXKfk.d.cts +76 -0
  192. package/dist/types-C4RXXKfk.d.ts +76 -0
  193. package/package.json +166 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/runtime/logger.js","../src/runtime/workflow/services.js","../src/runtime/workflow/tracing.js","../src/runtime/workflow/runtime.js","../src/runtime/workflow/dsl.js","../src/runtime/workflow/tasks.js","../src/runtime/workflow/stores/databaseStore.js","../src/runtime/workflow/stores/mongoStore.js","../src/runtime/workflow/schema.js","../src/runtime/workflow/adapters/databaseAdapters.js","../src/runtime/workflow/background.js","../src/runtime/workflow/auth.js"],"names":["fs","JsonlTraceExporter","task","placeholders"],"mappings":"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","file":"chunk-FNXIYAET.cjs","sourcesContent":["const defaultConsoleWriter = {\n debug: console.debug.bind(console),\n info: console.info.bind(console),\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n};\nexport class ConsoleLogger {\n constructor(scope = 'runtime', writer = defaultConsoleWriter) {\n this.scope = scope;\n this.writer = writer;\n }\n log(event) {\n const { context: originalContext, error: explicitError, level, message } = event;\n const { context, errorFromContext } = extractErrorFromContext(originalContext);\n const payload = {\n ...context,\n level,\n timestamp: (event.timestamp ?? new Date()).toISOString(),\n };\n const normalizedScope = (context?.scope ?? this.scope);\n if (normalizedScope) {\n payload.scope = normalizedScope;\n }\n const normalizedError = explicitError ?? normalizeError(errorFromContext);\n if (normalizedError) {\n payload.error = normalizedError;\n }\n this.writer[level](`[ceui${normalizedScope ? `:${normalizedScope}` : ''}] ${message}`, payload);\n }\n debug(message, context) {\n this.log({ level: 'debug', message, context });\n }\n info(message, context) {\n this.log({ level: 'info', message, context });\n }\n warn(message, context) {\n this.log({ level: 'warn', message, context });\n }\n error(message, context) {\n this.log({ level: 'error', message, context });\n }\n}\nfunction extractErrorFromContext(context) {\n if (!context || typeof context !== 'object') {\n return { context: undefined, errorFromContext: undefined };\n }\n const { error, ...rest } = context;\n return { context: rest, errorFromContext: error };\n}\nfunction normalizeError(error) {\n if (!error) {\n return undefined;\n }\n if (error instanceof Error) {\n return {\n name: error.name,\n message: error.message,\n stack: error.stack,\n cause: error.cause,\n };\n }\n if (typeof error === 'string') {\n return { message: error };\n }\n if (typeof error === 'object') {\n const candidate = error;\n const message = typeof candidate.message === 'string' ? candidate.message : JSON.stringify(candidate);\n const stack = typeof candidate.stack === 'string' ? candidate.stack : undefined;\n const name = typeof candidate.name === 'string' ? candidate.name : undefined;\n const cause = candidate.cause;\n return { message, stack, name, cause };\n }\n if (typeof error === 'number' || typeof error === 'boolean' || typeof error === 'bigint' || typeof error === 'symbol') {\n return { message: String(error) };\n }\n return { message: 'Unknown error' };\n}\n","import { ConsoleLogger } from '../logger.js';\nexport class SystemTimeService {\n wait(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n now() {\n return new Date();\n }\n}\nexport class DefaultBackgroundRunner {\n constructor(logger = new ConsoleWorkflowLogger()) {\n this.logger = logger;\n }\n dispatch(taskName, payload) {\n this.logger.info('Dispatch background task', {\n eventId: 'workflow.background.dispatch',\n taskName,\n payload,\n });\n return Promise.resolve();\n }\n}\nexport class InMemoryWorkflowStore {\n constructor() {\n this.instances = new Map();\n }\n save(instance) {\n this.instances.set(instance.id, {\n ...instance,\n history: [...instance.history],\n state: { ...instance.state },\n });\n return Promise.resolve();\n }\n load(id) {\n const record = this.instances.get(id);\n if (!record) {\n return Promise.resolve(null);\n }\n return Promise.resolve({\n ...record,\n history: [...record.history],\n state: { ...record.state },\n });\n }\n}\nexport class InMemorySchedulerService {\n constructor(background = new DefaultBackgroundRunner(), time = new SystemTimeService(), logger = new ConsoleWorkflowLogger(), trace) {\n this.background = background;\n this.time = time;\n this.logger = logger;\n this.trace = trace;\n }\n async schedule(request, context) {\n const delay = computeDelay(request, this.time.now());\n if (delay > 0) {\n await this.time.wait(delay);\n }\n await this.background.dispatch(request.taskName, request.payload);\n this.logger.info('Scheduled workflow task dispatched', {\n eventId: 'workflow.scheduler.dispatch',\n taskName: request.taskName,\n runAt: request.runAt?.toISOString(),\n delayMs: delay,\n workflowId: context.definition.name,\n stepId: context.step.id,\n runId: context.runId,\n workflowVersion: context.definition.version,\n });\n const sink = context.trace ?? this.trace;\n if (sink) {\n void sink.record({\n type: 'workflow.scheduler.dispatched',\n timestamp: new Date(),\n workflowId: context.definition.name,\n workflowVersion: context.definition.version,\n instanceId: context.instanceId,\n stepId: context.step.id,\n runId: context.runId,\n delayMs: delay,\n attributes: { taskName: request.taskName },\n });\n }\n }\n}\nexport class InMemoryDatabaseRegistry {\n constructor() {\n this.providers = new Map();\n }\n register(provider) {\n this.providers.set(provider.name, provider);\n }\n get(name) {\n return this.providers.get(name);\n }\n list() {\n return [...this.providers.keys()];\n }\n}\nexport class DefaultApprovalResolver {\n resolve(gate, context) {\n if (!gate.requiredRoles && !gate.approvers) {\n return Promise.resolve({ status: 'approved', decidedAt: new Date(), decidedBy: context.actor?.id });\n }\n const actor = context.actor;\n if (!actor) {\n return Promise.resolve({ status: 'pending' });\n }\n const roleMatch = gate.requiredRoles?.every(role => actor.roles?.includes(role)) ?? true;\n const approverMatch = gate.approvers ? gate.approvers.includes(actor.id) : true;\n if (roleMatch && approverMatch) {\n return Promise.resolve({ status: 'approved', decidedAt: new Date(), decidedBy: actor.id });\n }\n return Promise.resolve({ status: 'pending' });\n }\n}\nexport class ConsoleWorkflowLogger extends ConsoleLogger {\n constructor() {\n super('workflow');\n }\n}\nfunction computeDelay(request, now) {\n if (request.runAt) {\n return Math.max(0, request.runAt.getTime() - now.getTime());\n }\n if (typeof request.delayMs === 'number') {\n return Math.max(0, request.delayMs);\n }\n return 0;\n}\n","import { promises as fs } from 'node:fs';\n\nimport { JsonlTraceExporter } from '../shared/trace.js';\nimport { ConsoleWorkflowLogger } from './services.js';\n\nexport class NoopWorkflowTraceSink {\n record() {\n // intentionally noop\n }\n}\n\nexport class ConsoleWorkflowTraceSink {\n constructor(logger = new ConsoleWorkflowLogger()) {\n this.logger = logger;\n }\n record(event) {\n const timestamp = event.timestamp instanceof Date ? event.timestamp : new Date(event.timestamp);\n this.logger.info('Workflow trace event', {\n eventId: event.type,\n workflowId: event.workflowId,\n workflowVersion: event.workflowVersion,\n instanceId: event.instanceId,\n stepId: event.stepId,\n runId: event.runId,\n attempt: event.attempt,\n gateId: event.gateId,\n approvalStatus: event.approvalStatus,\n durationMs: event.durationMs,\n delayMs: event.delayMs,\n attributes: event.attributes,\n timestamp: timestamp.toISOString(),\n });\n }\n}\n\nexport class RecordingWorkflowTraceSink {\n constructor() {\n this.events = [];\n }\n record(event) {\n this.events.push(event);\n }\n getEvents() {\n return [...this.events];\n }\n toJSON() {\n return this.getEvents();\n }\n clear() {\n this.events.length = 0;\n }\n}\n\nexport class FileWorkflowTraceSink {\n constructor(filePath, writer = fs) {\n this.exporter = new JsonlTraceExporter({ filePath, writer });\n }\n record(event) {\n return this.exporter.export(buildWorkflowTracePayload(event));\n }\n}\n\nexport class WorkflowTraceExporterSink {\n constructor(exporter) {\n this.exporter = exporter;\n }\n record(event) {\n return this.exporter.export(buildWorkflowTracePayload(event));\n }\n}\n\nfunction buildWorkflowTracePayload(event) {\n const timestamp = event.timestamp instanceof Date ? event.timestamp : new Date(event.timestamp);\n return {\n type: event.type,\n timestamp,\n attributes: compact({\n workflowId: event.workflowId,\n workflowVersion: event.workflowVersion,\n instanceId: event.instanceId,\n stepId: event.stepId,\n runId: event.runId,\n attempt: event.attempt,\n gateId: event.gateId,\n approvalStatus: event.approvalStatus,\n durationMs: event.durationMs,\n delayMs: event.delayMs,\n actorId: event.actorId,\n ...event.attributes,\n }),\n };\n}\n\nfunction compact(record) {\n if (!record) {\n return undefined;\n }\n const entries = Object.entries(record).filter(([, value]) => typeof value !== 'undefined');\n if (entries.length === 0) {\n return undefined;\n }\n return Object.fromEntries(entries);\n}\n","import { ConsoleWorkflowLogger, DefaultApprovalResolver, DefaultBackgroundRunner, InMemorySchedulerService, SystemTimeService, } from './services.js';\nimport { NoopWorkflowTraceSink } from './tracing.js';\nexport class WorkflowRuntime {\n constructor(options) {\n this.options = options;\n this.tasks = new Map();\n this.logger = options.logger ?? new ConsoleWorkflowLogger();\n this.trace = options.traceSink ?? new NoopWorkflowTraceSink();\n const time = options.services?.time ?? new SystemTimeService();\n const background = options.services?.background ?? new DefaultBackgroundRunner(this.logger);\n const scheduler = options.services?.scheduler ?? new InMemorySchedulerService(background, time, this.logger, this.trace);\n this.services = {\n background,\n http: options.services?.http,\n databases: options.services?.databases,\n time,\n scheduler,\n trace: this.trace,\n };\n this.idGenerator =\n options.idGenerator ??\n (() => {\n const globalCrypto = globalThis.crypto;\n if (globalCrypto?.randomUUID) {\n return globalCrypto.randomUUID();\n }\n return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;\n });\n this.approvalResolver = options.approvalResolver ?? new DefaultApprovalResolver();\n if (options.tasks) {\n for (const [name, handler] of Object.entries(options.tasks)) {\n this.registerTask(name, handler);\n }\n }\n }\n registerTask(name, handler) {\n this.tasks.set(name, handler);\n }\n hasTask(name) {\n return this.tasks.has(name);\n }\n listTasks() {\n return [...this.tasks.keys()];\n }\n async run(definition, request = {}) {\n const state = { ...(request.state ?? {}) };\n const instance = {\n id: request.instanceId ?? this.idGenerator(),\n workflowId: definition.name,\n version: definition.version,\n status: 'running',\n currentStep: definition.entry,\n state,\n actor: request.actor,\n metadata: request.metadata ?? definition.metadata,\n history: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n await this.options.store.save(instance);\n this.emitTrace({\n type: 'workflow.run.started',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n actorId: instance.actor?.id,\n });\n let currentStepId = definition.entry;\n while (currentStepId) {\n const step = currentStepId ? definition.steps[currentStepId] : undefined;\n if (!step) {\n throw new Error(`Unknown step '${currentStepId}' in workflow '${definition.name}'`);\n }\n instance.currentStep = step.id;\n const approval = await this.ensureApprovals(step, instance);\n const approvalDecision = approval?.decision;\n if (approvalDecision?.status === 'pending') {\n instance.status = 'waiting';\n await this.persist(instance);\n this.emitTrace({\n type: 'workflow.run.waiting',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n attributes: { reason: 'approval-pending', gateId: approval?.gateId },\n });\n return { instance, status: 'waiting' };\n }\n if (approvalDecision?.status === 'rejected') {\n instance.status = 'failed';\n instance.history.push(this.buildHistoryEntry(step, 'failure', 0, approvalDecision.reason ?? 'Approval rejected'));\n await this.persist(instance);\n this.emitTrace({\n type: 'workflow.run.failed',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n attributes: { reason: 'approval-rejected', gateId: approval?.gateId },\n });\n return { instance, status: 'failed' };\n }\n const { result, attempts } = await this.executeStep(definition, step, state, instance);\n instance.history.push(this.buildHistoryEntry(step, result.status, attempts, typeof result.error === 'string' ? result.error : undefined));\n instance.state = state;\n instance.updatedAt = new Date();\n if (result.status === 'success') {\n const transition = result.transition ?? step.transitions?.success;\n if (!transition) {\n instance.status = 'completed';\n await this.persist(instance);\n this.emitTrace({\n type: 'workflow.run.completed',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n });\n return { instance, status: 'completed', output: state };\n }\n currentStepId = transition;\n }\n else {\n const transition = step.transitions?.failure;\n if (transition) {\n currentStepId = transition;\n }\n else {\n instance.status = 'failed';\n await this.persist(instance);\n this.emitTrace({\n type: 'workflow.run.failed',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n });\n return { instance, status: 'failed' };\n }\n }\n }\n instance.status = 'completed';\n await this.persist(instance);\n this.emitTrace({\n type: 'workflow.run.completed',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n });\n return { instance, status: 'completed', output: state };\n }\n async executeStep(definition, step, state, instance) {\n const handler = this.resolveTask(step.task);\n const retryPolicy = this.normalizeRetry(step.retry);\n const services = this.services;\n const logger = this.logger;\n let attempt = 0;\n while (attempt < retryPolicy.maxAttempts) {\n attempt += 1;\n const context = {\n runId: this.idGenerator(),\n instanceId: instance.id,\n definition,\n step,\n input: step.task.input,\n state,\n actor: instance.actor,\n services,\n logger,\n trace: this.trace,\n };\n const stepStart = new Date();\n this.emitTrace({\n type: 'workflow.step.started',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n runId: context.runId,\n attempt,\n });\n try {\n const result = await handler(context);\n if (result.data) {\n Object.assign(state, result.data);\n }\n if (result.status === 'success') {\n const finishedAt = new Date();\n this.emitTrace({\n type: 'workflow.step.completed',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n runId: context.runId,\n attempt,\n durationMs: finishedAt.getTime() - stepStart.getTime(),\n attributes: result.data,\n });\n return { result, attempts: attempt };\n }\n this.emitTrace({\n type: 'workflow.step.failed',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n runId: context.runId,\n attempt,\n attributes: { reason: 'handler-result', transition: result.transition },\n });\n if (attempt < retryPolicy.maxAttempts) {\n const waitTime = await this.waitForRetry(attempt, retryPolicy.delayMs, retryPolicy.backoff);\n this.emitTrace({\n type: 'workflow.step.retry',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n runId: context.runId,\n attempt,\n delayMs: waitTime,\n });\n continue;\n }\n return { result, attempts: attempt };\n }\n catch (error) {\n logger.error('Workflow step execution failed', {\n eventId: 'workflow.step.failed',\n workflowId: definition.name,\n workflowVersion: definition.version,\n stepId: step.id,\n runId: context.runId,\n attempt,\n error,\n });\n this.emitTrace({\n type: 'workflow.step.failed',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n runId: context.runId,\n attempt,\n attributes: {\n reason: 'exception',\n message: error instanceof Error ? error.message : String(error),\n },\n });\n if (attempt >= retryPolicy.maxAttempts) {\n return {\n result: { status: 'failure', error },\n attempts: attempt,\n };\n }\n const waitTime = await this.waitForRetry(attempt, retryPolicy.delayMs, retryPolicy.backoff);\n this.emitTrace({\n type: 'workflow.step.retry',\n workflowId: definition.name,\n workflowVersion: definition.version,\n instanceId: instance.id,\n stepId: step.id,\n runId: context.runId,\n attempt,\n delayMs: waitTime,\n });\n }\n }\n return { result: { status: 'failure', error: 'Unknown failure' }, attempts: attempt };\n }\n normalizeRetry(retry) {\n return {\n maxAttempts: Math.max(1, retry?.maxAttempts ?? 1),\n delayMs: retry?.delayMs ?? 0,\n backoff: retry?.backoff ?? 'fixed',\n };\n }\n resolveTask(task) {\n const handler = this.tasks.get(task.handler);\n if (!handler) {\n throw new Error(`Task handler '${task.handler}' has not been registered`);\n }\n return handler;\n }\n buildHistoryEntry(step, status, attempt, notes) {\n return {\n stepId: step.id,\n status,\n attempt,\n timestamp: new Date(),\n notes,\n };\n }\n async ensureApprovals(step, instance) {\n if (!step.approvals || step.approvals.length === 0) {\n return undefined;\n }\n for (const gate of step.approvals) {\n this.emitTrace({\n type: 'workflow.approval.requested',\n workflowId: instance.workflowId,\n workflowVersion: instance.version,\n instanceId: instance.id,\n stepId: step.id,\n gateId: gate.id,\n actorId: instance.actor?.id,\n });\n const decision = await this.approvalResolver.resolve(gate, {\n actor: instance.actor,\n instance,\n step,\n });\n this.emitTrace({\n type: 'workflow.approval.resolved',\n workflowId: instance.workflowId,\n workflowVersion: instance.version,\n instanceId: instance.id,\n stepId: step.id,\n gateId: gate.id,\n approvalStatus: decision.status,\n actorId: decision.decidedBy ?? instance.actor?.id,\n });\n if (decision.status !== 'approved') {\n return { decision, gateId: gate.id };\n }\n }\n return undefined;\n }\n async waitForRetry(attempt, delayMs, backoff) {\n if (delayMs <= 0 || !this.services.time) {\n return 0;\n }\n let waitTime = delayMs;\n if (backoff === 'exponential') {\n waitTime = delayMs * 2 ** (attempt - 1);\n }\n else if (backoff === 'jitter') {\n const base = delayMs * 2 ** (attempt - 1);\n waitTime = Math.floor(Math.random() * base);\n }\n await this.services.time.wait(waitTime);\n return waitTime;\n }\n async persist(instance) {\n await this.options.store.save(instance);\n }\n emitTrace(event) {\n void this.trace.record({\n ...event,\n timestamp: event.timestamp ?? new Date(),\n });\n }\n}\n","export function createWorkflow(name, configure, options = {}) {\n const builder = new WorkflowBuilder(name, options.version ?? '1.0.0');\n if (options.entry) {\n builder.entry(options.entry);\n }\n if (options.metadata) {\n builder.metadata(options.metadata);\n }\n configure(builder);\n return builder.build();\n}\nexport class WorkflowBuilder {\n constructor(workflowName, versionValue) {\n this.workflowName = workflowName;\n this.versionValue = versionValue;\n this.steps = new Map();\n }\n version(value) {\n this.versionValue = value;\n return this;\n }\n entry(stepId) {\n this.entryStep = stepId;\n return this;\n }\n metadata(data) {\n this.metadataValue = { ...(this.metadataValue ?? {}), ...data };\n return this;\n }\n step(id, task, configure) {\n const definition = {\n id,\n task,\n };\n const builder = new WorkflowStepBuilder(this, definition);\n configure?.(builder);\n this.steps.set(id, definition);\n if (!this.entryStep) {\n this.entryStep = id;\n }\n return this;\n }\n build() {\n if (!this.entryStep) {\n throw new Error(`Workflow '${this.workflowName}' must declare at least one step`);\n }\n return {\n name: this.workflowName,\n version: this.versionValue,\n entry: this.entryStep,\n steps: Object.fromEntries(this.steps),\n metadata: this.metadataValue,\n };\n }\n}\nexport class WorkflowStepBuilder {\n constructor(parent, definition) {\n this.parent = parent;\n this.definition = definition;\n }\n onSuccess(stepId) {\n this.definition.transitions = { ...(this.definition.transitions ?? {}), success: stepId };\n return this;\n }\n onFailure(stepId) {\n this.definition.transitions = { ...(this.definition.transitions ?? {}), failure: stepId };\n return this;\n }\n withRetry(policy) {\n this.definition.retry = { ...policy };\n return this;\n }\n withApproval(gate) {\n this.definition.approvals = [...(this.definition.approvals ?? []), gate];\n return this;\n }\n metadata(data) {\n this.definition.metadata = { ...(this.definition.metadata ?? {}), ...data };\n return this;\n }\n end() {\n return this.parent;\n }\n}\nexport function task(handler, input) {\n return { handler, input };\n}\nexport function workflowFromJson(json) {\n if (!json.name || !json.entry || !json.version) {\n throw new Error('Invalid workflow definition JSON payload');\n }\n return {\n name: json.name,\n version: json.version,\n entry: json.entry,\n steps: json.steps,\n metadata: json.metadata,\n };\n}\n","export const HTTP_TASK = 'workflow.http.request';\nexport const DATABASE_TASK = 'workflow.database.execute';\nexport const DELAY_TASK = 'workflow.time.delay';\nexport const SCHEDULE_TASK = 'workflow.background.schedule';\nexport function httpTask(options) {\n return { handler: HTTP_TASK, input: options };\n}\nexport function databaseTask(options) {\n return { handler: DATABASE_TASK, input: options };\n}\nexport function delayTask(options) {\n return { handler: DELAY_TASK, input: options };\n}\nexport function scheduleTask(options) {\n return { handler: SCHEDULE_TASK, input: options };\n}\nexport function createDefaultTaskMap(executor) {\n return {\n [HTTP_TASK]: createHttpTaskHandler(executor),\n [DATABASE_TASK]: createDatabaseTaskHandler(),\n [DELAY_TASK]: createDelayTaskHandler(),\n [SCHEDULE_TASK]: createScheduleTaskHandler(),\n };\n}\nexport function createHttpTaskHandler(fallback) {\n return async (context) => {\n if (!context.input) {\n throw new Error('HTTP task requires an input payload');\n }\n const optionsCandidate = context.input;\n if (!optionsCandidate.url || typeof optionsCandidate.url !== 'string') {\n throw new Error('HTTP task requires a `url` property');\n }\n const options = optionsCandidate;\n const executor = context.services.http ?? fallback ?? createFetchHttpExecutor();\n const response = await executor(options, context);\n const isSuccess = response.status >= 200 && response.status < 300;\n const payloadKey = options.assignResponseTo;\n const data = payloadKey ? { [payloadKey]: response.body ?? response } : undefined;\n return {\n status: isSuccess ? 'success' : 'failure',\n data,\n error: isSuccess ? undefined : { status: response.status, body: response.body },\n };\n };\n}\nexport function createDatabaseTaskHandler() {\n return async (context) => {\n if (!context.input) {\n throw new Error('Database task requires input payload');\n }\n const partialInput = context.input;\n if (!partialInput.provider) {\n throw new Error('Database task input missing `provider`');\n }\n if (!partialInput.operation) {\n throw new Error('Database task input missing `operation` details');\n }\n const options = partialInput;\n const registry = context.services.databases;\n if (!registry) {\n throw new Error('No database registry injected into workflow services');\n }\n const provider = registry.get(options.provider);\n if (!provider) {\n throw new Error(`Database provider '${options.provider}' was not registered`);\n }\n const result = await provider.execute(options.operation, { actor: context.actor });\n const data = options.assignResultTo ? { [options.assignResultTo]: result } : undefined;\n return { status: 'success', data };\n };\n}\nexport function createDelayTaskHandler() {\n return async (context) => {\n const options = context.input ? context.input : {};\n const delayMs = normalizeDelay(options);\n if (delayMs <= 0) {\n return { status: 'success' };\n }\n if (context.services.time) {\n await context.services.time.wait(delayMs);\n }\n else {\n await new Promise(resolve => setTimeout(resolve, delayMs));\n }\n return { status: 'success' };\n };\n}\nexport function createScheduleTaskHandler() {\n return async (context) => {\n if (!context.input) {\n throw new Error('Schedule task requires an input payload');\n }\n const options = context.input;\n if (!options.taskName) {\n throw new Error('Schedule task requires a taskName');\n }\n const scheduleRequest = {\n taskName: options.taskName,\n payload: options.payload,\n description: options.description,\n runAt: options.runAt ? new Date(options.runAt) : undefined,\n delayMs: options.delayMs,\n };\n if (context.services.scheduler) {\n await context.services.scheduler.schedule(scheduleRequest, context);\n return { status: 'success' };\n }\n const delayMs = scheduleRequest.runAt ? Math.max(0, scheduleRequest.runAt.getTime() - Date.now()) : Math.max(0, scheduleRequest.delayMs ?? 0);\n if (delayMs > 0) {\n if (context.services.time) {\n await context.services.time.wait(delayMs);\n }\n else {\n await new Promise(resolve => setTimeout(resolve, delayMs));\n }\n }\n if (!context.services.background) {\n throw new Error('No background runner available to dispatch scheduled task');\n }\n await context.services.background.dispatch(scheduleRequest.taskName, scheduleRequest.payload);\n return { status: 'success' };\n };\n}\nexport function createFetchHttpExecutor(fetchImpl) {\n const resolvedFetch = fetchImpl ?? globalThis.fetch;\n if (!resolvedFetch) {\n throw new Error('Fetch API is not available in this runtime. Provide a custom http service.');\n }\n return async (request, context) => {\n const url = withQueryString(request.url, request.query);\n const body = typeof request.body === 'object' && request.body !== null ? JSON.stringify(request.body) : request.body;\n const response = await resolvedFetch(url, {\n method: request.method ?? 'GET',\n headers: request.headers,\n body,\n });\n const headers = extractHeaders(response.headers);\n const parseMode = determineParseMode(request);\n const payload = parseMode === 'text' ? await response.text() : await safeJson(response);\n context.logger?.debug('HTTP task executed', { url, status: response.status });\n return {\n status: response.status,\n headers,\n body: payload,\n };\n };\n}\nfunction determineParseMode(request) {\n return request.parse ?? 'auto';\n}\nasync function safeJson(response) {\n try {\n return await response.json();\n }\n catch {\n return await response.text();\n }\n}\nfunction extractHeaders(source) {\n const result = {};\n if (!source) {\n return result;\n }\n source.forEach((value, key) => {\n result[key] = value;\n });\n return result;\n}\nfunction withQueryString(url, query) {\n if (!query || Object.keys(query).length === 0) {\n return url;\n }\n const usp = new URLSearchParams();\n for (const [key, value] of Object.entries(query)) {\n usp.append(key, String(value));\n }\n const separator = url.includes('?') ? '&' : '?';\n return `${url}${separator}${usp.toString()}`;\n}\nexport class FunctionalDatabaseProvider {\n constructor(name, executor) {\n this.name = name;\n this.executor = executor;\n }\n execute(operation, context) {\n return this.executor(operation, context);\n }\n}\nexport function createSqlDatabaseProvider(options) {\n return new FunctionalDatabaseProvider(options.name, operation => {\n if (!operation.text) {\n throw new Error('SQL operations require the `text` property');\n }\n return options.query(operation.text, operation.parameters);\n });\n}\nexport function createMySqlProvider(client, name = 'mysql') {\n return createSqlDatabaseProvider({\n name,\n query: (sql, params) => client.query(sql, params),\n });\n}\nexport function createPostgresProvider(client, name = 'postgres') {\n return createSqlDatabaseProvider({\n name,\n query: (sql, params) => client.query(sql, params),\n });\n}\nexport function createSqliteProvider(client, name = 'sqlite') {\n return createSqlDatabaseProvider({\n name,\n query: (sql, params) => client.run(sql, params),\n });\n}\nexport function createMongoProvider(options) {\n return new FunctionalDatabaseProvider(options.name ?? 'mongodb', op => {\n if (!op.collection) {\n throw new Error('Mongo operations require a collection name');\n }\n return options.run(op);\n });\n}\nexport function registerDefaultDatabaseProviders(registry, providers) {\n for (const provider of providers) {\n registry.register(provider);\n }\n}\nfunction normalizeDelay(options) {\n if (typeof options.milliseconds === 'number') {\n return Math.max(0, options.milliseconds);\n }\n if (typeof options.seconds === 'number') {\n return Math.max(0, options.seconds * 1000);\n }\n return 0;\n}\n","export class DatabaseWorkflowStore {\n constructor(options) {\n this.options = options;\n this.table = options.table ?? 'workflow_instances';\n this.dialect = options.dialect ?? 'postgres';\n }\n async save(instance) {\n const nowIso = instance.updatedAt.toISOString();\n const params = [\n instance.id,\n instance.workflowId,\n instance.version,\n instance.status,\n instance.currentStep ?? null,\n JSON.stringify(instance.state),\n instance.actor ? JSON.stringify(instance.actor) : null,\n instance.metadata ? JSON.stringify(instance.metadata) : null,\n JSON.stringify(instance.history),\n instance.createdAt.toISOString(),\n nowIso,\n ];\n const sql = buildUpsertStatement(this.table, this.dialect);\n await this.options.provider.execute({ type: 'command', text: sql, parameters: params });\n }\n async load(id) {\n const sql = `SELECT id, workflow_id, version, status, current_step, state_json, actor_json, metadata_json, history_json, created_at, updated_at FROM ${this.table} WHERE id = ${buildPlaceholder(1, this.dialect)}`;\n const result = await this.options.provider.execute({\n type: 'query',\n text: sql,\n parameters: [id],\n });\n if (!result || result.length === 0) {\n return null;\n }\n return mapRowToInstance(result[0]);\n }\n}\nfunction buildUpsertStatement(table, dialect) {\n const columns = '(id, workflow_id, version, status, current_step, state_json, actor_json, metadata_json, history_json, created_at, updated_at)';\n const values = buildInsertValues(11, dialect);\n const base = `INSERT INTO ${table} ${columns} VALUES ${values}`;\n if (dialect === 'postgres') {\n return `${base} ON CONFLICT (id) DO UPDATE SET workflow_id = EXCLUDED.workflow_id, version = EXCLUDED.version, status = EXCLUDED.status, current_step = EXCLUDED.current_step, state_json = EXCLUDED.state_json, actor_json = EXCLUDED.actor_json, metadata_json = EXCLUDED.metadata_json, history_json = EXCLUDED.history_json, updated_at = EXCLUDED.updated_at`;\n }\n if (dialect === 'sqlite') {\n return `${base} ON CONFLICT(id) DO UPDATE SET workflow_id = excluded.workflow_id, version = excluded.version, status = excluded.status, current_step = excluded.current_step, state_json = excluded.state_json, actor_json = excluded.actor_json, metadata_json = excluded.metadata_json, history_json = excluded.history_json, updated_at = excluded.updated_at`;\n }\n return `${base} ON DUPLICATE KEY UPDATE workflow_id = VALUES(workflow_id), version = VALUES(version), status = VALUES(status), current_step = VALUES(current_step), state_json = VALUES(state_json), actor_json = VALUES(actor_json), metadata_json = VALUES(metadata_json), history_json = VALUES(history_json), updated_at = VALUES(updated_at)`;\n}\nfunction buildInsertValues(count, dialect) {\n if (dialect === 'postgres') {\n const placeholders = Array.from({ length: count }, (_, index) => `$${String(index + 1)}`).join(', ');\n return `(${placeholders})`;\n }\n const placeholders = Array.from({ length: count }, () => '?').join(', ');\n return `(${placeholders})`;\n}\nfunction buildPlaceholder(position, dialect) {\n return dialect === 'postgres' ? `$${String(position)}` : '?';\n}\nfunction mapRowToInstance(row) {\n return {\n id: row.id,\n workflowId: row.workflow_id,\n version: row.version,\n status: row.status,\n currentStep: row.current_step ?? undefined,\n state: parseJson(row.state_json, {}),\n actor: parseJson(row.actor_json, undefined),\n metadata: parseJson(row.metadata_json, undefined),\n history: parseJson(row.history_json, []),\n createdAt: new Date(row.created_at),\n updatedAt: new Date(row.updated_at),\n };\n}\nfunction parseJson(value, fallback) {\n if (!value) {\n return fallback;\n }\n try {\n return JSON.parse(value);\n }\n catch {\n return fallback;\n }\n}\n","export class MongoWorkflowStore {\n constructor(options) {\n this.options = options;\n if (this.options.createIndexes) {\n void this.ensureIndexes();\n }\n }\n async save(instance) {\n const document = serializeInstance(instance);\n await this.options.collection.updateOne({ _id: document._id }, {\n $set: {\n workflowId: document.workflowId,\n version: document.version,\n status: document.status,\n currentStep: document.currentStep,\n state: document.state,\n actor: document.actor,\n metadata: document.metadata,\n history: document.history,\n createdAt: document.createdAt,\n updatedAt: document.updatedAt,\n },\n }, { upsert: true });\n }\n async load(id) {\n const doc = await this.options.collection.findOne({ _id: id });\n if (!doc) {\n return null;\n }\n return deserializeDocument(doc);\n }\n async ensureIndexes() {\n if (!this.options.collection.createIndex) {\n return;\n }\n await Promise.all([\n this.options.collection.createIndex({ workflowId: 1, updatedAt: -1 }),\n this.options.collection.createIndex({ status: 1, updatedAt: -1 }),\n ]);\n }\n}\nfunction serializeInstance(instance) {\n return {\n _id: instance.id,\n workflowId: instance.workflowId,\n version: instance.version,\n status: instance.status,\n currentStep: instance.currentStep,\n state: instance.state,\n actor: instance.actor,\n metadata: instance.metadata,\n history: instance.history.map(entry => ({\n stepId: entry.stepId,\n status: entry.status,\n attempt: entry.attempt,\n timestamp: entry.timestamp.toISOString(),\n notes: entry.notes,\n })),\n createdAt: instance.createdAt.toISOString(),\n updatedAt: instance.updatedAt.toISOString(),\n };\n}\nfunction deserializeDocument(document) {\n return {\n id: document._id,\n workflowId: document.workflowId,\n version: document.version,\n status: document.status,\n currentStep: document.currentStep,\n state: clone(document.state),\n actor: document.actor ? clone(document.actor) : undefined,\n metadata: document.metadata ? clone(document.metadata) : undefined,\n history: Array.isArray(document.history) ? document.history.map(entry => ({ ...entry, timestamp: new Date(entry.timestamp) })) : [],\n createdAt: new Date(document.createdAt),\n updatedAt: new Date(document.updatedAt),\n };\n}\nfunction clone(value) {\n return JSON.parse(JSON.stringify(value));\n}\n","export function workflowToVisualSchema(definition) {\n const nodes = Object.values(definition.steps).map(step => ({\n id: step.id,\n label: String(step.metadata?.label ?? step.id),\n task: step.task,\n approvals: step.approvals,\n retry: step.retry,\n metadata: step.metadata,\n }));\n const edges = [];\n for (const step of Object.values(definition.steps)) {\n if (step.transitions?.success) {\n edges.push({ id: `${step.id}->${step.transitions.success}#success`, source: step.id, target: step.transitions.success, when: 'success' });\n }\n if (step.transitions?.failure) {\n edges.push({ id: `${step.id}->${step.transitions.failure}#failure`, source: step.id, target: step.transitions.failure, when: 'failure' });\n }\n }\n return {\n id: `${definition.name}@${definition.version}`,\n name: definition.name,\n version: definition.version,\n entry: definition.entry,\n metadata: definition.metadata,\n nodes,\n edges,\n };\n}\nexport function visualSchemaToWorkflow(schema) {\n const steps = {};\n for (const node of schema.nodes) {\n steps[node.id] = {\n id: node.id,\n task: node.task,\n approvals: node.approvals,\n retry: node.retry,\n metadata: { ...node.metadata, position: node.position, size: node.size, data: node.data },\n };\n }\n for (const edge of schema.edges) {\n if (!Object.prototype.hasOwnProperty.call(steps, edge.source)) {\n continue;\n }\n const step = steps[edge.source];\n if (!step.transitions) {\n step.transitions = {};\n }\n if (edge.when === 'failure') {\n step.transitions.failure = edge.target;\n }\n else {\n step.transitions.success = edge.target;\n }\n }\n return {\n name: schema.name,\n version: schema.version,\n entry: schema.entry,\n steps,\n metadata: schema.metadata,\n };\n}\n","import { FunctionalDatabaseProvider, createSqlDatabaseProvider } from '../tasks.js';\nexport function createPrismaProvider(options) {\n const query = (text, params = []) => options.client.$queryRawUnsafe(text, ...params);\n const execute = (text, params = []) => {\n if (options.client.$executeRawUnsafe) {\n return options.client.$executeRawUnsafe(text, ...params);\n }\n return query(text, params);\n };\n return new FunctionalDatabaseProvider(options.name ?? 'prisma', operation => {\n if (!operation.text) {\n throw new Error('Prisma provider requires `text` SQL input');\n }\n if (operation.type === 'query') {\n return query(operation.text, operation.parameters ?? []);\n }\n return execute(operation.text, operation.parameters ?? []);\n });\n}\nexport function createDrizzleProvider(options) {\n return new FunctionalDatabaseProvider(options.name ?? 'drizzle', operation => {\n if (!operation.text) {\n throw new Error('Drizzle provider requires `text` SQL input');\n }\n return options.client.execute(operation.text, operation.parameters);\n });\n}\nexport function createSupabaseProvider(options) {\n return new FunctionalDatabaseProvider(options.name ?? 'supabase', async (operation) => {\n if (operation.collection) {\n const table = options.client.from(operation.collection);\n if (operation.type === 'query') {\n if (typeof table.select !== 'function') {\n throw new Error('Supabase client is missing select support');\n }\n return table.select('*');\n }\n if (operation.type === 'command') {\n if (operation.payload && operation.payload.action === 'insert') {\n return table.insert(operation.payload.data);\n }\n if (operation.payload && operation.payload.action === 'update') {\n return table.update(operation.payload.data);\n }\n if (operation.payload && operation.payload.action === 'delete') {\n return table.delete();\n }\n }\n }\n if (options.client.rpc && operation.text) {\n return options.client.rpc(operation.text, operation.payload);\n }\n throw new Error('Supabase provider requires `collection` or `text` with rpc support');\n });\n}\nexport function createRestDatabaseProvider(options) {\n const fetchImpl = options.fetch ?? globalThis.fetch;\n if (!fetchImpl) {\n throw new Error('Fetch API is not available. Provide a custom fetch implementation.');\n }\n return new FunctionalDatabaseProvider(options.name ?? 'rest-db', async (operation) => {\n const url = new URL(options.endpoint);\n if (operation.collection) {\n url.pathname = `${url.pathname.replace(/\\/$/, '')}/${operation.collection}`;\n }\n const body = JSON.stringify(operation.payload ?? { text: operation.text, parameters: operation.parameters });\n const response = await fetchImpl(url, {\n method: 'POST',\n headers: { 'content-type': 'application/json', ...(options.headers ?? {}) },\n body,\n });\n if (!response.ok) {\n throw new Error(`REST database adapter failed with status ${String(response.status)}`);\n }\n return response.json();\n });\n}\nexport { createSqlDatabaseProvider };\n","export class QueueBackgroundRunner {\n constructor(options) {\n this.options = options;\n }\n async dispatch(taskName, payload) {\n const message = { name: taskName, payload };\n await this.options.driver.enqueue(message);\n this.options.metrics?.record('enqueued', { taskName });\n }\n async schedule(request, context) {\n const message = {\n name: request.taskName,\n payload: { ...request.payload, workflowId: context.definition.name, stepId: context.step.id },\n runAt: request.runAt,\n };\n if (request.runAt && this.options.driver.schedule) {\n await this.options.driver.schedule(message);\n this.options.metrics?.record('enqueued', { taskName: request.taskName, scheduled: true });\n return;\n }\n if (request.delayMs && this.options.driver.schedule) {\n await this.options.driver.schedule({ ...message, runAt: new Date(Date.now() + request.delayMs) });\n this.options.metrics?.record('enqueued', { taskName: request.taskName, scheduled: true });\n return;\n }\n await this.dispatch(request.taskName, message.payload);\n }\n}\nexport function createBullMqDriver(queue) {\n return {\n enqueue: message => queue.add(message.name, message.payload).then(() => undefined),\n schedule: message => queue\n .add(message.name, message.payload, {\n delay: message.runAt ? Math.max(0, message.runAt.getTime() - Date.now()) : 0,\n })\n .then(() => undefined),\n };\n}\nexport function createSqsDriver(client, queueUrl) {\n return {\n enqueue: message => client\n .sendMessage({\n QueueUrl: queueUrl,\n MessageBody: JSON.stringify(message.payload ?? {}),\n MessageAttributes: {\n name: { DataType: 'String', StringValue: message.name },\n },\n })\n .then(() => undefined),\n schedule: message => client\n .sendMessage({\n QueueUrl: queueUrl,\n MessageBody: JSON.stringify(message.payload ?? {}),\n DelaySeconds: message.runAt\n ? Math.min(900, Math.max(0, Math.floor((message.runAt.getTime() - Date.now()) / 1000)))\n : undefined,\n MessageAttributes: {\n name: { DataType: 'String', StringValue: message.name },\n },\n })\n .then(() => undefined),\n };\n}\nexport function createAzureQueueDriver(client) {\n return {\n enqueue: message => client.sendMessage(JSON.stringify({ name: message.name, payload: message.payload })).then(() => undefined),\n schedule: message => client\n .sendMessage(JSON.stringify({ name: message.name, payload: message.payload }), {\n visibilityTimeout: message.runAt ? Math.max(0, Math.floor((message.runAt.getTime() - Date.now()) / 1000)) : 0,\n })\n .then(() => undefined),\n };\n}\nexport class MetricsConsoleEmitter {\n record(event, metadata) {\n // eslint-disable-next-line no-console\n console.info(`[workflow.queue] ${event}`, metadata);\n }\n}\n","export class PolicyApprovalResolver {\n constructor(engine, fallback) {\n this.engine = engine;\n this.fallback = fallback;\n }\n async resolve(gate, context) {\n const decision = await this.engine.evaluate({\n actor: context.actor,\n instance: context.instance,\n step: context.step,\n action: 'approve',\n metadata: { gateId: gate.id },\n });\n if (decision.allow) {\n return { status: 'approved', decidedAt: new Date(), decidedBy: context.actor?.id };\n }\n if (this.fallback) {\n return this.fallback.resolve(gate, context);\n }\n return { status: 'pending', reason: decision.reason };\n }\n}\nexport class RuleBasedPolicyEngine {\n constructor(rules, defaultDecision = { allow: true }) {\n this.rules = rules;\n this.defaultDecision = defaultDecision;\n }\n evaluate(request) {\n for (const rule of this.rules) {\n if (rule.match(request)) {\n return rule.decision(request);\n }\n }\n return this.defaultDecision;\n }\n}\nexport function actorFromOidcClaims(claims, mapping = {}) {\n const typedClaims = claims;\n return {\n id: String(claims[mapping.idClaim ?? 'sub'] ?? typedClaims.user_id ?? 'anonymous'),\n roles: toStringArray(claims[mapping.rolesClaim ?? 'roles'] ?? claims['https://ce/roles']),\n scopes: toStringArray(claims[mapping.scopesClaim ?? 'scope']),\n attributes: mapping.attributeClaims?.reduce((acc, key) => {\n acc[key] = claims[key];\n return acc;\n }, {}),\n metadata: { provider: mapping.provider ?? 'oidc', raw: mapping.includeRaw ? claims : undefined },\n };\n}\nexport function actorFromCognitoClaims(claims) {\n return actorFromOidcClaims(claims, {\n provider: 'cognito',\n idClaim: 'sub',\n rolesClaim: 'cognito:groups',\n scopesClaim: 'scope',\n });\n}\nexport function actorFromAzureAdClaims(claims) {\n return actorFromOidcClaims(claims, {\n provider: 'azure-ad',\n idClaim: 'oid',\n rolesClaim: 'roles',\n scopesClaim: 'scp',\n });\n}\nexport function actorFromAuth0Claims(claims) {\n return actorFromOidcClaims(claims, {\n provider: 'auth0',\n idClaim: 'sub',\n rolesClaim: 'https://auth0/roles',\n scopesClaim: 'scope',\n });\n}\nexport function requireActorRoles(roles) {\n return request => {\n const actorRoles = request.actor?.roles ?? [];\n const hasRoles = roles.every(role => actorRoles.includes(role));\n if (!hasRoles) {\n throw new Error(`Actor ${request.actor?.id ?? 'unknown'} missing required roles: ${roles.join(', ')}`);\n }\n };\n}\nexport function requireActorScopes(scopes) {\n return request => {\n const actorScopes = request.actor?.scopes ?? [];\n const hasScopes = scopes.every(scope => actorScopes.includes(scope));\n if (!hasScopes) {\n throw new Error(`Actor ${request.actor?.id ?? 'unknown'} missing required scopes: ${scopes.join(', ')}`);\n }\n };\n}\nexport async function runAuthMiddleware(middleware, request) {\n for (const fn of middleware) {\n await fn(request);\n }\n}\nexport function createStartWorkflowMiddleware(sequence) {\n return request => {\n if (request.action !== 'start') {\n return;\n }\n return runAuthMiddleware(sequence, request);\n };\n}\nexport function createStepMiddleware(sequence) {\n return request => {\n if (request.action !== 'step') {\n return;\n }\n return runAuthMiddleware(sequence, request);\n };\n}\nexport function multiStepApprovalResolver(resolvers) {\n return {\n async resolve(gate, context) {\n for (const resolver of resolvers) {\n const result = await resolver.resolve(gate, context);\n if (result.status !== 'pending') {\n return result;\n }\n }\n return { status: 'pending' };\n },\n };\n}\nexport class ManualOverrideApprovalResolver {\n constructor(overrides) {\n this.overrides = overrides;\n }\n resolve(gate, context) {\n const key = `${context.instance.id}:${gate.id}`;\n return this.overrides.get(key) ?? { status: 'pending' };\n }\n}\nexport function buildPolicyRequest(instance, step, actor) {\n return {\n actor,\n instance,\n step,\n action: 'step',\n };\n}\nfunction toStringArray(value) {\n if (Array.isArray(value)) {\n return value.map(item => String(item));\n }\n if (typeof value === 'string') {\n return value.split(/[\\s,]+/).filter(Boolean);\n }\n return [];\n}\n"]}
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ // src/runtime/timeline.js
4
+ function buildRuntimeChromeTraceDocument(events, options = {}) {
5
+ return { traceEvents: toChromeTraceEvents(events, options) };
6
+ }
7
+ function toChromeTraceEvents(events, options) {
8
+ const pid = options.processId ?? 1;
9
+ const category = options.category ?? "runtime";
10
+ return events.map((event) => {
11
+ const ts = (event.timestamp ?? /* @__PURE__ */ new Date()).getTime() * 1e3;
12
+ const tid = selectThreadId(event);
13
+ return {
14
+ name: event.type,
15
+ cat: category,
16
+ ph: "i",
17
+ s: "p",
18
+ ts,
19
+ pid,
20
+ tid,
21
+ args: buildArgs(event)
22
+ };
23
+ });
24
+ }
25
+ function selectThreadId(event) {
26
+ if (event.componentInstanceId) {
27
+ return hashString(event.componentInstanceId);
28
+ }
29
+ if (event.effectId) {
30
+ return hashString(event.effectId);
31
+ }
32
+ if (event.requestId) {
33
+ return hashString(event.requestId);
34
+ }
35
+ return 0;
36
+ }
37
+ function hashString(value) {
38
+ let hash = 0;
39
+ for (let i = 0; i < value.length; i += 1) {
40
+ hash = (hash << 5) - hash + value.charCodeAt(i);
41
+ hash |= 0;
42
+ }
43
+ return Math.abs(hash);
44
+ }
45
+ function buildArgs(event) {
46
+ return Object.fromEntries(
47
+ Object.entries({
48
+ componentName: event.componentName,
49
+ componentInstanceId: event.componentInstanceId,
50
+ templateId: event.templateId,
51
+ effectId: event.effectId,
52
+ signalId: event.signalId,
53
+ middlewareName: event.middlewareName,
54
+ middlewareIndex: event.middlewareIndex,
55
+ requestId: event.requestId,
56
+ ...event.attributes
57
+ }).filter(([, value]) => typeof value !== "undefined")
58
+ );
59
+ }
60
+
61
+ exports.buildRuntimeChromeTraceDocument = buildRuntimeChromeTraceDocument;
62
+ //# sourceMappingURL=chunk-I6GNUM3P.cjs.map
63
+ //# sourceMappingURL=chunk-I6GNUM3P.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/runtime/timeline.js"],"names":[],"mappings":";;;AAAO,SAAS,+BAAA,CAAgC,MAAA,EAAQ,OAAA,GAAU,EAAC,EAAG;AAClE,EAAA,OAAO,EAAE,WAAA,EAAa,mBAAA,CAAoB,MAAA,EAAQ,OAAO,CAAA,EAAE;AAC/D;AAEA,SAAS,mBAAA,CAAoB,QAAQ,OAAA,EAAS;AAC1C,EAAA,MAAM,GAAA,GAAM,QAAQ,SAAA,IAAa,CAAA;AACjC,EAAA,MAAM,QAAA,GAAW,QAAQ,QAAA,IAAY,SAAA;AACrC,EAAA,OAAO,MAAA,CAAO,IAAI,CAAA,KAAA,KAAS;AACvB,IAAA,MAAM,MAAM,KAAA,CAAM,SAAA,wBAAiB,IAAA,EAAK,EAAG,SAAQ,GAAI,GAAA;AACvD,IAAA,MAAM,GAAA,GAAM,eAAe,KAAK,CAAA;AAChC,IAAA,OAAO;AAAA,MACH,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,GAAA,EAAK,QAAA;AAAA,MACL,EAAA,EAAI,GAAA;AAAA,MACJ,CAAA,EAAG,GAAA;AAAA,MACH,EAAA;AAAA,MACA,GAAA;AAAA,MACA,GAAA;AAAA,MACA,IAAA,EAAM,UAAU,KAAK;AAAA,KACzB;AAAA,EACJ,CAAC,CAAA;AACL;AAEA,SAAS,eAAe,KAAA,EAAO;AAC3B,EAAA,IAAI,MAAM,mBAAA,EAAqB;AAC3B,IAAA,OAAO,UAAA,CAAW,MAAM,mBAAmB,CAAA;AAAA,EAC/C;AACA,EAAA,IAAI,MAAM,QAAA,EAAU;AAChB,IAAA,OAAO,UAAA,CAAW,MAAM,QAAQ,CAAA;AAAA,EACpC;AACA,EAAA,IAAI,MAAM,SAAA,EAAW;AACjB,IAAA,OAAO,UAAA,CAAW,MAAM,SAAS,CAAA;AAAA,EACrC;AACA,EAAA,OAAO,CAAA;AACX;AAEA,SAAS,WAAW,KAAA,EAAO;AACvB,EAAA,IAAI,IAAA,GAAO,CAAA;AACX,EAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,MAAA,EAAQ,KAAK,CAAA,EAAG;AACtC,IAAA,IAAA,GAAA,CAAQ,IAAA,IAAQ,CAAA,IAAK,IAAA,GAAO,KAAA,CAAM,WAAW,CAAC,CAAA;AAC9C,IAAA,IAAA,IAAQ,CAAA;AAAA,EACZ;AACA,EAAA,OAAO,IAAA,CAAK,IAAI,IAAI,CAAA;AACxB;AAEA,SAAS,UAAU,KAAA,EAAO;AACtB,EAAA,OAAO,MAAA,CAAO,WAAA;AAAA,IACV,OAAO,OAAA,CAAQ;AAAA,MACX,eAAe,KAAA,CAAM,aAAA;AAAA,MACrB,qBAAqB,KAAA,CAAM,mBAAA;AAAA,MAC3B,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,gBAAgB,KAAA,CAAM,cAAA;AAAA,MACtB,iBAAiB,KAAA,CAAM,eAAA;AAAA,MACvB,WAAW,KAAA,CAAM,SAAA;AAAA,MACjB,GAAG,KAAA,CAAM;AAAA,KACZ,CAAA,CAAE,MAAA,CAAO,CAAC,GAAG,KAAK,CAAA,KAAM,OAAO,KAAA,KAAU,WAAW;AAAA,GACzD;AACJ","file":"chunk-I6GNUM3P.cjs","sourcesContent":["export function buildRuntimeChromeTraceDocument(events, options = {}) {\n return { traceEvents: toChromeTraceEvents(events, options) };\n}\n\nfunction toChromeTraceEvents(events, options) {\n const pid = options.processId ?? 1;\n const category = options.category ?? 'runtime';\n return events.map(event => {\n const ts = (event.timestamp ?? new Date()).getTime() * 1000;\n const tid = selectThreadId(event);\n return {\n name: event.type,\n cat: category,\n ph: 'i',\n s: 'p',\n ts,\n pid,\n tid,\n args: buildArgs(event),\n };\n });\n}\n\nfunction selectThreadId(event) {\n if (event.componentInstanceId) {\n return hashString(event.componentInstanceId);\n }\n if (event.effectId) {\n return hashString(event.effectId);\n }\n if (event.requestId) {\n return hashString(event.requestId);\n }\n return 0;\n}\n\nfunction hashString(value) {\n let hash = 0;\n for (let i = 0; i < value.length; i += 1) {\n hash = (hash << 5) - hash + value.charCodeAt(i);\n hash |= 0;\n }\n return Math.abs(hash);\n}\n\nfunction buildArgs(event) {\n return Object.fromEntries(\n Object.entries({\n componentName: event.componentName,\n componentInstanceId: event.componentInstanceId,\n templateId: event.templateId,\n effectId: event.effectId,\n signalId: event.signalId,\n middlewareName: event.middlewareName,\n middlewareIndex: event.middlewareIndex,\n requestId: event.requestId,\n ...event.attributes,\n }).filter(([, value]) => typeof value !== 'undefined'),\n );\n}\n"]}
@@ -0,0 +1,129 @@
1
+ // src/shared/styleScope.js
2
+ var STYLE_SCOPE_PREFIX = "ce";
3
+ var STYLE_SCOPE_ATTR = "data-ce-scope";
4
+ function createStyleScopeId(seed) {
5
+ let hash = 2166136261;
6
+ for (let i = 0; i < seed.length; i += 1) {
7
+ hash ^= seed.charCodeAt(i);
8
+ hash = Math.imul(hash, 16777619);
9
+ }
10
+ return `${STYLE_SCOPE_PREFIX}-${(hash >>> 0).toString(36)}`;
11
+ }
12
+ function scopeStyles(styles, scopeId) {
13
+ return styles.map((style) => scopeCssText(style, scopeId));
14
+ }
15
+ function scopeCssText(css, scopeId) {
16
+ const attrSelector = `[${STYLE_SCOPE_ATTR}="${scopeId}"]`;
17
+ let result = "";
18
+ let selectorBuffer = "";
19
+ const disableStack = [];
20
+ let depth = 0;
21
+ const parentDisabled = () => disableStack[disableStack.length - 1] ?? false;
22
+ for (const char of css) {
23
+ if (char === "{") {
24
+ const rawSelector = selectorBuffer;
25
+ selectorBuffer = "";
26
+ const normalized = rawSelector.trim();
27
+ if (!normalized) {
28
+ disableStack.push(parentDisabled());
29
+ result += "{";
30
+ } else if (normalized.startsWith("@")) {
31
+ const disable = normalized.startsWith("@keyframes") || normalized.startsWith("@font-face");
32
+ disableStack.push(disable || parentDisabled());
33
+ result += rawSelector;
34
+ result += "{";
35
+ } else {
36
+ const disable = parentDisabled();
37
+ disableStack.push(disable);
38
+ const next = disable ? rawSelector : scopeSelectorGroup(rawSelector, attrSelector);
39
+ result += next;
40
+ result += "{";
41
+ }
42
+ depth += 1;
43
+ continue;
44
+ }
45
+ if (char === "}") {
46
+ if (depth === 0) {
47
+ result += char;
48
+ selectorBuffer = "";
49
+ continue;
50
+ }
51
+ depth -= 1;
52
+ result += char;
53
+ disableStack.pop();
54
+ continue;
55
+ }
56
+ if (depth === 0 && char === ";") {
57
+ result += selectorBuffer + ";";
58
+ selectorBuffer = "";
59
+ continue;
60
+ }
61
+ if (depth === 0) {
62
+ selectorBuffer += char;
63
+ continue;
64
+ }
65
+ result += char;
66
+ }
67
+ if (selectorBuffer) {
68
+ result += selectorBuffer;
69
+ }
70
+ return result;
71
+ }
72
+ function scopeSelectorGroup(raw, attrSelector) {
73
+ const leading = raw.match(/^\s*/)?.[0] ?? "";
74
+ const trailing = raw.match(/\s*$/)?.[0] ?? "";
75
+ const body = raw.trim();
76
+ if (!body) {
77
+ return raw;
78
+ }
79
+ const selectors = splitSelectors(body);
80
+ const transformed = selectors.map((selector) => scopeSingleSelector(selector.trim(), attrSelector)).filter(Boolean).join(", ");
81
+ return `${leading}${transformed}${trailing}`;
82
+ }
83
+ function splitSelectors(input) {
84
+ const parts = [];
85
+ let current = "";
86
+ let depth = 0;
87
+ for (const char of input) {
88
+ if (char === "(") {
89
+ depth += 1;
90
+ } else if (char === ")") {
91
+ depth = Math.max(0, depth - 1);
92
+ }
93
+ if (char === "," && depth === 0) {
94
+ parts.push(current);
95
+ current = "";
96
+ continue;
97
+ }
98
+ current += char;
99
+ }
100
+ if (current) {
101
+ parts.push(current);
102
+ }
103
+ return parts;
104
+ }
105
+ function scopeSingleSelector(selector, attrSelector) {
106
+ if (!selector) {
107
+ return attrSelector;
108
+ }
109
+ let result = selector.replace(/:host\b/g, attrSelector);
110
+ result = result.replace(/:global\(([^)]+)\)/g, "$1");
111
+ const trimmed = result.trim();
112
+ if (!trimmed) {
113
+ return result;
114
+ }
115
+ if (trimmed.includes(attrSelector)) {
116
+ return trimmed;
117
+ }
118
+ if (trimmed.startsWith("&")) {
119
+ return trimmed.replace(/&/g, attrSelector);
120
+ }
121
+ if (/^[@0-9]/.test(trimmed)) {
122
+ return trimmed;
123
+ }
124
+ return `${attrSelector} ${trimmed}`;
125
+ }
126
+
127
+ export { STYLE_SCOPE_ATTR, createStyleScopeId, scopeStyles };
128
+ //# sourceMappingURL=chunk-IHAMVLRY.js.map
129
+ //# sourceMappingURL=chunk-IHAMVLRY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared/styleScope.js"],"names":[],"mappings":"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","file":"chunk-IHAMVLRY.js","sourcesContent":["const STYLE_SCOPE_PREFIX = 'ce';\nexport const STYLE_SCOPE_ATTR = 'data-ce-scope';\nexport function createStyleScopeId(seed) {\n let hash = 2166136261;\n for (let i = 0; i < seed.length; i += 1) {\n hash ^= seed.charCodeAt(i);\n hash = Math.imul(hash, 16777619);\n }\n return `${STYLE_SCOPE_PREFIX}-${(hash >>> 0).toString(36)}`;\n}\nexport function scopeStyles(styles, scopeId) {\n return styles.map(style => scopeCssText(style, scopeId));\n}\nexport function scopeCssText(css, scopeId) {\n const attrSelector = `[${STYLE_SCOPE_ATTR}=\"${scopeId}\"]`;\n let result = '';\n let selectorBuffer = '';\n const disableStack = [];\n let depth = 0;\n const parentDisabled = () => disableStack[disableStack.length - 1] ?? false;\n for (const char of css) {\n if (char === '{') {\n const rawSelector = selectorBuffer;\n selectorBuffer = '';\n const normalized = rawSelector.trim();\n if (!normalized) {\n disableStack.push(parentDisabled());\n result += '{';\n }\n else if (normalized.startsWith('@')) {\n const disable = normalized.startsWith('@keyframes') || normalized.startsWith('@font-face');\n disableStack.push(disable || parentDisabled());\n result += rawSelector;\n result += '{';\n }\n else {\n const disable = parentDisabled();\n disableStack.push(disable);\n const next = disable ? rawSelector : scopeSelectorGroup(rawSelector, attrSelector);\n result += next;\n result += '{';\n }\n depth += 1;\n continue;\n }\n if (char === '}') {\n if (depth === 0) {\n result += char;\n selectorBuffer = '';\n continue;\n }\n depth -= 1;\n result += char;\n disableStack.pop();\n continue;\n }\n if (depth === 0 && char === ';') {\n result += selectorBuffer + ';';\n selectorBuffer = '';\n continue;\n }\n if (depth === 0) {\n selectorBuffer += char;\n continue;\n }\n result += char;\n }\n if (selectorBuffer) {\n result += selectorBuffer;\n }\n return result;\n}\nfunction scopeSelectorGroup(raw, attrSelector) {\n const leading = raw.match(/^\\s*/)?.[0] ?? '';\n const trailing = raw.match(/\\s*$/)?.[0] ?? '';\n const body = raw.trim();\n if (!body) {\n return raw;\n }\n const selectors = splitSelectors(body);\n const transformed = selectors\n .map(selector => scopeSingleSelector(selector.trim(), attrSelector))\n .filter(Boolean)\n .join(', ');\n return `${leading}${transformed}${trailing}`;\n}\nfunction splitSelectors(input) {\n const parts = [];\n let current = '';\n let depth = 0;\n for (const char of input) {\n if (char === '(') {\n depth += 1;\n }\n else if (char === ')') {\n depth = Math.max(0, depth - 1);\n }\n if (char === ',' && depth === 0) {\n parts.push(current);\n current = '';\n continue;\n }\n current += char;\n }\n if (current) {\n parts.push(current);\n }\n return parts;\n}\nfunction scopeSingleSelector(selector, attrSelector) {\n if (!selector) {\n return attrSelector;\n }\n let result = selector.replace(/:host\\b/g, attrSelector);\n result = result.replace(/:global\\(([^)]+)\\)/g, '$1');\n const trimmed = result.trim();\n if (!trimmed) {\n return result;\n }\n if (trimmed.includes(attrSelector)) {\n return trimmed;\n }\n if (trimmed.startsWith('&')) {\n return trimmed.replace(/&/g, attrSelector);\n }\n if (/^[@0-9]/.test(trimmed)) {\n return trimmed;\n }\n return `${attrSelector} ${trimmed}`;\n}\n"]}
@@ -0,0 +1,133 @@
1
+ 'use strict';
2
+
3
+ // src/shared/styleScope.js
4
+ var STYLE_SCOPE_PREFIX = "ce";
5
+ var STYLE_SCOPE_ATTR = "data-ce-scope";
6
+ function createStyleScopeId(seed) {
7
+ let hash = 2166136261;
8
+ for (let i = 0; i < seed.length; i += 1) {
9
+ hash ^= seed.charCodeAt(i);
10
+ hash = Math.imul(hash, 16777619);
11
+ }
12
+ return `${STYLE_SCOPE_PREFIX}-${(hash >>> 0).toString(36)}`;
13
+ }
14
+ function scopeStyles(styles, scopeId) {
15
+ return styles.map((style) => scopeCssText(style, scopeId));
16
+ }
17
+ function scopeCssText(css, scopeId) {
18
+ const attrSelector = `[${STYLE_SCOPE_ATTR}="${scopeId}"]`;
19
+ let result = "";
20
+ let selectorBuffer = "";
21
+ const disableStack = [];
22
+ let depth = 0;
23
+ const parentDisabled = () => disableStack[disableStack.length - 1] ?? false;
24
+ for (const char of css) {
25
+ if (char === "{") {
26
+ const rawSelector = selectorBuffer;
27
+ selectorBuffer = "";
28
+ const normalized = rawSelector.trim();
29
+ if (!normalized) {
30
+ disableStack.push(parentDisabled());
31
+ result += "{";
32
+ } else if (normalized.startsWith("@")) {
33
+ const disable = normalized.startsWith("@keyframes") || normalized.startsWith("@font-face");
34
+ disableStack.push(disable || parentDisabled());
35
+ result += rawSelector;
36
+ result += "{";
37
+ } else {
38
+ const disable = parentDisabled();
39
+ disableStack.push(disable);
40
+ const next = disable ? rawSelector : scopeSelectorGroup(rawSelector, attrSelector);
41
+ result += next;
42
+ result += "{";
43
+ }
44
+ depth += 1;
45
+ continue;
46
+ }
47
+ if (char === "}") {
48
+ if (depth === 0) {
49
+ result += char;
50
+ selectorBuffer = "";
51
+ continue;
52
+ }
53
+ depth -= 1;
54
+ result += char;
55
+ disableStack.pop();
56
+ continue;
57
+ }
58
+ if (depth === 0 && char === ";") {
59
+ result += selectorBuffer + ";";
60
+ selectorBuffer = "";
61
+ continue;
62
+ }
63
+ if (depth === 0) {
64
+ selectorBuffer += char;
65
+ continue;
66
+ }
67
+ result += char;
68
+ }
69
+ if (selectorBuffer) {
70
+ result += selectorBuffer;
71
+ }
72
+ return result;
73
+ }
74
+ function scopeSelectorGroup(raw, attrSelector) {
75
+ const leading = raw.match(/^\s*/)?.[0] ?? "";
76
+ const trailing = raw.match(/\s*$/)?.[0] ?? "";
77
+ const body = raw.trim();
78
+ if (!body) {
79
+ return raw;
80
+ }
81
+ const selectors = splitSelectors(body);
82
+ const transformed = selectors.map((selector) => scopeSingleSelector(selector.trim(), attrSelector)).filter(Boolean).join(", ");
83
+ return `${leading}${transformed}${trailing}`;
84
+ }
85
+ function splitSelectors(input) {
86
+ const parts = [];
87
+ let current = "";
88
+ let depth = 0;
89
+ for (const char of input) {
90
+ if (char === "(") {
91
+ depth += 1;
92
+ } else if (char === ")") {
93
+ depth = Math.max(0, depth - 1);
94
+ }
95
+ if (char === "," && depth === 0) {
96
+ parts.push(current);
97
+ current = "";
98
+ continue;
99
+ }
100
+ current += char;
101
+ }
102
+ if (current) {
103
+ parts.push(current);
104
+ }
105
+ return parts;
106
+ }
107
+ function scopeSingleSelector(selector, attrSelector) {
108
+ if (!selector) {
109
+ return attrSelector;
110
+ }
111
+ let result = selector.replace(/:host\b/g, attrSelector);
112
+ result = result.replace(/:global\(([^)]+)\)/g, "$1");
113
+ const trimmed = result.trim();
114
+ if (!trimmed) {
115
+ return result;
116
+ }
117
+ if (trimmed.includes(attrSelector)) {
118
+ return trimmed;
119
+ }
120
+ if (trimmed.startsWith("&")) {
121
+ return trimmed.replace(/&/g, attrSelector);
122
+ }
123
+ if (/^[@0-9]/.test(trimmed)) {
124
+ return trimmed;
125
+ }
126
+ return `${attrSelector} ${trimmed}`;
127
+ }
128
+
129
+ exports.STYLE_SCOPE_ATTR = STYLE_SCOPE_ATTR;
130
+ exports.createStyleScopeId = createStyleScopeId;
131
+ exports.scopeStyles = scopeStyles;
132
+ //# sourceMappingURL=chunk-IRBUKIRF.cjs.map
133
+ //# sourceMappingURL=chunk-IRBUKIRF.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared/styleScope.js"],"names":[],"mappings":";;;AAAA,IAAM,kBAAA,GAAqB,IAAA;AACpB,IAAM,gBAAA,GAAmB;AACzB,SAAS,mBAAmB,IAAA,EAAM;AACrC,EAAA,IAAI,IAAA,GAAO,UAAA;AACX,EAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,MAAA,EAAQ,KAAK,CAAA,EAAG;AACrC,IAAA,IAAA,IAAQ,IAAA,CAAK,WAAW,CAAC,CAAA;AACzB,IAAA,IAAA,GAAO,IAAA,CAAK,IAAA,CAAK,IAAA,EAAM,QAAQ,CAAA;AAAA,EACnC;AACA,EAAA,OAAO,GAAG,kBAAkB,CAAA,CAAA,EAAA,CAAK,SAAS,CAAA,EAAG,QAAA,CAAS,EAAE,CAAC,CAAA,CAAA;AAC7D;AACO,SAAS,WAAA,CAAY,QAAQ,OAAA,EAAS;AACzC,EAAA,OAAO,OAAO,GAAA,CAAI,CAAA,KAAA,KAAS,YAAA,CAAa,KAAA,EAAO,OAAO,CAAC,CAAA;AAC3D;AACO,SAAS,YAAA,CAAa,KAAK,OAAA,EAAS;AACvC,EAAA,MAAM,YAAA,GAAe,CAAA,CAAA,EAAI,gBAAgB,CAAA,EAAA,EAAK,OAAO,CAAA,EAAA,CAAA;AACrD,EAAA,IAAI,MAAA,GAAS,EAAA;AACb,EAAA,IAAI,cAAA,GAAiB,EAAA;AACrB,EAAA,MAAM,eAAe,EAAC;AACtB,EAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,EAAA,MAAM,iBAAiB,MAAM,YAAA,CAAa,YAAA,CAAa,MAAA,GAAS,CAAC,CAAA,IAAK,KAAA;AACtE,EAAA,KAAA,MAAW,QAAQ,GAAA,EAAK;AACpB,IAAA,IAAI,SAAS,GAAA,EAAK;AACd,MAAA,MAAM,WAAA,GAAc,cAAA;AACpB,MAAA,cAAA,GAAiB,EAAA;AACjB,MAAA,MAAM,UAAA,GAAa,YAAY,IAAA,EAAK;AACpC,MAAA,IAAI,CAAC,UAAA,EAAY;AACb,QAAA,YAAA,CAAa,IAAA,CAAK,gBAAgB,CAAA;AAClC,QAAA,MAAA,IAAU,GAAA;AAAA,MACd,CAAA,MAAA,IACS,UAAA,CAAW,UAAA,CAAW,GAAG,CAAA,EAAG;AACjC,QAAA,MAAM,UAAU,UAAA,CAAW,UAAA,CAAW,YAAY,CAAA,IAAK,UAAA,CAAW,WAAW,YAAY,CAAA;AACzF,QAAA,YAAA,CAAa,IAAA,CAAK,OAAA,IAAW,cAAA,EAAgB,CAAA;AAC7C,QAAA,MAAA,IAAU,WAAA;AACV,QAAA,MAAA,IAAU,GAAA;AAAA,MACd,CAAA,MACK;AACD,QAAA,MAAM,UAAU,cAAA,EAAe;AAC/B,QAAA,YAAA,CAAa,KAAK,OAAO,CAAA;AACzB,QAAA,MAAM,IAAA,GAAO,OAAA,GAAU,WAAA,GAAc,kBAAA,CAAmB,aAAa,YAAY,CAAA;AACjF,QAAA,MAAA,IAAU,IAAA;AACV,QAAA,MAAA,IAAU,GAAA;AAAA,MACd;AACA,MAAA,KAAA,IAAS,CAAA;AACT,MAAA;AAAA,IACJ;AACA,IAAA,IAAI,SAAS,GAAA,EAAK;AACd,MAAA,IAAI,UAAU,CAAA,EAAG;AACb,QAAA,MAAA,IAAU,IAAA;AACV,QAAA,cAAA,GAAiB,EAAA;AACjB,QAAA;AAAA,MACJ;AACA,MAAA,KAAA,IAAS,CAAA;AACT,MAAA,MAAA,IAAU,IAAA;AACV,MAAA,YAAA,CAAa,GAAA,EAAI;AACjB,MAAA;AAAA,IACJ;AACA,IAAA,IAAI,KAAA,KAAU,CAAA,IAAK,IAAA,KAAS,GAAA,EAAK;AAC7B,MAAA,MAAA,IAAU,cAAA,GAAiB,GAAA;AAC3B,MAAA,cAAA,GAAiB,EAAA;AACjB,MAAA;AAAA,IACJ;AACA,IAAA,IAAI,UAAU,CAAA,EAAG;AACb,MAAA,cAAA,IAAkB,IAAA;AAClB,MAAA;AAAA,IACJ;AACA,IAAA,MAAA,IAAU,IAAA;AAAA,EACd;AACA,EAAA,IAAI,cAAA,EAAgB;AAChB,IAAA,MAAA,IAAU,cAAA;AAAA,EACd;AACA,EAAA,OAAO,MAAA;AACX;AACA,SAAS,kBAAA,CAAmB,KAAK,YAAA,EAAc;AAC3C,EAAA,MAAM,UAAU,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA,GAAI,CAAC,CAAA,IAAK,EAAA;AAC1C,EAAA,MAAM,WAAW,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA,GAAI,CAAC,CAAA,IAAK,EAAA;AAC3C,EAAA,MAAM,IAAA,GAAO,IAAI,IAAA,EAAK;AACtB,EAAA,IAAI,CAAC,IAAA,EAAM;AACP,IAAA,OAAO,GAAA;AAAA,EACX;AACA,EAAA,MAAM,SAAA,GAAY,eAAe,IAAI,CAAA;AACrC,EAAA,MAAM,WAAA,GAAc,SAAA,CACf,GAAA,CAAI,CAAA,QAAA,KAAY,oBAAoB,QAAA,CAAS,IAAA,EAAK,EAAG,YAAY,CAAC,CAAA,CAClE,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,IAAI,CAAA;AACd,EAAA,OAAO,CAAA,EAAG,OAAO,CAAA,EAAG,WAAW,GAAG,QAAQ,CAAA,CAAA;AAC9C;AACA,SAAS,eAAe,KAAA,EAAO;AAC3B,EAAA,MAAM,QAAQ,EAAC;AACf,EAAA,IAAI,OAAA,GAAU,EAAA;AACd,EAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACtB,IAAA,IAAI,SAAS,GAAA,EAAK;AACd,MAAA,KAAA,IAAS,CAAA;AAAA,IACb,CAAA,MAAA,IACS,SAAS,GAAA,EAAK;AACnB,MAAA,KAAA,GAAQ,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,KAAA,GAAQ,CAAC,CAAA;AAAA,IACjC;AACA,IAAA,IAAI,IAAA,KAAS,GAAA,IAAO,KAAA,KAAU,CAAA,EAAG;AAC7B,MAAA,KAAA,CAAM,KAAK,OAAO,CAAA;AAClB,MAAA,OAAA,GAAU,EAAA;AACV,MAAA;AAAA,IACJ;AACA,IAAA,OAAA,IAAW,IAAA;AAAA,EACf;AACA,EAAA,IAAI,OAAA,EAAS;AACT,IAAA,KAAA,CAAM,KAAK,OAAO,CAAA;AAAA,EACtB;AACA,EAAA,OAAO,KAAA;AACX;AACA,SAAS,mBAAA,CAAoB,UAAU,YAAA,EAAc;AACjD,EAAA,IAAI,CAAC,QAAA,EAAU;AACX,IAAA,OAAO,YAAA;AAAA,EACX;AACA,EAAA,IAAI,MAAA,GAAS,QAAA,CAAS,OAAA,CAAQ,UAAA,EAAY,YAAY,CAAA;AACtD,EAAA,MAAA,GAAS,MAAA,CAAO,OAAA,CAAQ,qBAAA,EAAuB,IAAI,CAAA;AACnD,EAAA,MAAM,OAAA,GAAU,OAAO,IAAA,EAAK;AAC5B,EAAA,IAAI,CAAC,OAAA,EAAS;AACV,IAAA,OAAO,MAAA;AAAA,EACX;AACA,EAAA,IAAI,OAAA,CAAQ,QAAA,CAAS,YAAY,CAAA,EAAG;AAChC,IAAA,OAAO,OAAA;AAAA,EACX;AACA,EAAA,IAAI,OAAA,CAAQ,UAAA,CAAW,GAAG,CAAA,EAAG;AACzB,IAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,IAAA,EAAM,YAAY,CAAA;AAAA,EAC7C;AACA,EAAA,IAAI,SAAA,CAAU,IAAA,CAAK,OAAO,CAAA,EAAG;AACzB,IAAA,OAAO,OAAA;AAAA,EACX;AACA,EAAA,OAAO,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA;AACrC","file":"chunk-IRBUKIRF.cjs","sourcesContent":["const STYLE_SCOPE_PREFIX = 'ce';\nexport const STYLE_SCOPE_ATTR = 'data-ce-scope';\nexport function createStyleScopeId(seed) {\n let hash = 2166136261;\n for (let i = 0; i < seed.length; i += 1) {\n hash ^= seed.charCodeAt(i);\n hash = Math.imul(hash, 16777619);\n }\n return `${STYLE_SCOPE_PREFIX}-${(hash >>> 0).toString(36)}`;\n}\nexport function scopeStyles(styles, scopeId) {\n return styles.map(style => scopeCssText(style, scopeId));\n}\nexport function scopeCssText(css, scopeId) {\n const attrSelector = `[${STYLE_SCOPE_ATTR}=\"${scopeId}\"]`;\n let result = '';\n let selectorBuffer = '';\n const disableStack = [];\n let depth = 0;\n const parentDisabled = () => disableStack[disableStack.length - 1] ?? false;\n for (const char of css) {\n if (char === '{') {\n const rawSelector = selectorBuffer;\n selectorBuffer = '';\n const normalized = rawSelector.trim();\n if (!normalized) {\n disableStack.push(parentDisabled());\n result += '{';\n }\n else if (normalized.startsWith('@')) {\n const disable = normalized.startsWith('@keyframes') || normalized.startsWith('@font-face');\n disableStack.push(disable || parentDisabled());\n result += rawSelector;\n result += '{';\n }\n else {\n const disable = parentDisabled();\n disableStack.push(disable);\n const next = disable ? rawSelector : scopeSelectorGroup(rawSelector, attrSelector);\n result += next;\n result += '{';\n }\n depth += 1;\n continue;\n }\n if (char === '}') {\n if (depth === 0) {\n result += char;\n selectorBuffer = '';\n continue;\n }\n depth -= 1;\n result += char;\n disableStack.pop();\n continue;\n }\n if (depth === 0 && char === ';') {\n result += selectorBuffer + ';';\n selectorBuffer = '';\n continue;\n }\n if (depth === 0) {\n selectorBuffer += char;\n continue;\n }\n result += char;\n }\n if (selectorBuffer) {\n result += selectorBuffer;\n }\n return result;\n}\nfunction scopeSelectorGroup(raw, attrSelector) {\n const leading = raw.match(/^\\s*/)?.[0] ?? '';\n const trailing = raw.match(/\\s*$/)?.[0] ?? '';\n const body = raw.trim();\n if (!body) {\n return raw;\n }\n const selectors = splitSelectors(body);\n const transformed = selectors\n .map(selector => scopeSingleSelector(selector.trim(), attrSelector))\n .filter(Boolean)\n .join(', ');\n return `${leading}${transformed}${trailing}`;\n}\nfunction splitSelectors(input) {\n const parts = [];\n let current = '';\n let depth = 0;\n for (const char of input) {\n if (char === '(') {\n depth += 1;\n }\n else if (char === ')') {\n depth = Math.max(0, depth - 1);\n }\n if (char === ',' && depth === 0) {\n parts.push(current);\n current = '';\n continue;\n }\n current += char;\n }\n if (current) {\n parts.push(current);\n }\n return parts;\n}\nfunction scopeSingleSelector(selector, attrSelector) {\n if (!selector) {\n return attrSelector;\n }\n let result = selector.replace(/:host\\b/g, attrSelector);\n result = result.replace(/:global\\(([^)]+)\\)/g, '$1');\n const trimmed = result.trim();\n if (!trimmed) {\n return result;\n }\n if (trimmed.includes(attrSelector)) {\n return trimmed;\n }\n if (trimmed.startsWith('&')) {\n return trimmed.replace(/&/g, attrSelector);\n }\n if (/^[@0-9]/.test(trimmed)) {\n return trimmed;\n }\n return `${attrSelector} ${trimmed}`;\n}\n"]}