@flowdular/sdk 0.1.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 (883) hide show
  1. package/.ai/agents/README.md +27 -0
  2. package/.ai/agents/module-executor.md +36 -0
  3. package/.ai/agents/reviewer.md +23 -0
  4. package/.ai/agents/sandbox/agentic-engineer.md +31 -0
  5. package/.ai/agents/sandbox/backend-engineer.md +36 -0
  6. package/.ai/agents/sandbox/business-manager.md +23 -0
  7. package/.ai/agents/sandbox/frontend-engineer.md +27 -0
  8. package/.ai/agents/sandbox/ux-designer.md +23 -0
  9. package/.ai/agents/spec-author.md +29 -0
  10. package/.ai/blueprints/add-migration/README.md +5 -0
  11. package/.ai/blueprints/add-migration/allowed-paths.yaml +23 -0
  12. package/.ai/blueprints/add-migration/blueprint.json +14 -0
  13. package/.ai/blueprints/add-migration/examples/invalid/input-destructive.json +6 -0
  14. package/.ai/blueprints/add-migration/examples/invalid/plan-unnumbered-file.json +9 -0
  15. package/.ai/blueprints/add-migration/examples/valid/input.json +6 -0
  16. package/.ai/blueprints/add-migration/examples/valid/plan.json +9 -0
  17. package/.ai/blueprints/add-migration/gates.yaml +30 -0
  18. package/.ai/blueprints/add-migration/input.schema.json +23 -0
  19. package/.ai/blueprints/add-migration/plan.schema.json +54 -0
  20. package/.ai/blueprints/add-migration/required-files.yaml +18 -0
  21. package/.ai/blueprints/add-migration/spec-requirements.yaml +13 -0
  22. package/.ai/blueprints/add-migration/steps.yaml +62 -0
  23. package/.ai/blueprints/author-spec/README.md +5 -0
  24. package/.ai/blueprints/author-spec/allowed-paths.yaml +7 -0
  25. package/.ai/blueprints/author-spec/blueprint.json +14 -0
  26. package/.ai/blueprints/author-spec/examples/invalid/input-missing-outcome.json +5 -0
  27. package/.ai/blueprints/author-spec/examples/valid/input.json +6 -0
  28. package/.ai/blueprints/author-spec/gates.yaml +13 -0
  29. package/.ai/blueprints/author-spec/input.schema.json +20 -0
  30. package/.ai/blueprints/author-spec/plan.schema.json +14 -0
  31. package/.ai/blueprints/author-spec/required-files.yaml +6 -0
  32. package/.ai/blueprints/author-spec/spec-requirements.yaml +35 -0
  33. package/.ai/blueprints/author-spec/steps.yaml +28 -0
  34. package/.ai/blueprints/author-spec/templates/module.yaml +45 -0
  35. package/.ai/blueprints/bug-fix/README.md +5 -0
  36. package/.ai/blueprints/bug-fix/allowed-paths.yaml +29 -0
  37. package/.ai/blueprints/bug-fix/blueprint.json +14 -0
  38. package/.ai/blueprints/bug-fix/examples/invalid/input-no-symptom.json +4 -0
  39. package/.ai/blueprints/bug-fix/examples/invalid/plan-no-test.json +8 -0
  40. package/.ai/blueprints/bug-fix/examples/valid/input.json +6 -0
  41. package/.ai/blueprints/bug-fix/examples/valid/plan.json +8 -0
  42. package/.ai/blueprints/bug-fix/gates.yaml +30 -0
  43. package/.ai/blueprints/bug-fix/input.schema.json +25 -0
  44. package/.ai/blueprints/bug-fix/plan.schema.json +53 -0
  45. package/.ai/blueprints/bug-fix/required-files.yaml +7 -0
  46. package/.ai/blueprints/bug-fix/spec-requirements.yaml +7 -0
  47. package/.ai/blueprints/bug-fix/steps.yaml +51 -0
  48. package/.ai/blueprints/core-extend/README.md +5 -0
  49. package/.ai/blueprints/core-extend/allowed-paths.yaml +49 -0
  50. package/.ai/blueprints/core-extend/blueprint.json +14 -0
  51. package/.ai/blueprints/core-extend/examples/invalid/input-unknown-package.json +5 -0
  52. package/.ai/blueprints/core-extend/examples/invalid/plan-missing-gates.json +7 -0
  53. package/.ai/blueprints/core-extend/examples/valid/input.json +6 -0
  54. package/.ai/blueprints/core-extend/examples/valid/plan.json +10 -0
  55. package/.ai/blueprints/core-extend/gates.yaml +16 -0
  56. package/.ai/blueprints/core-extend/input.schema.json +54 -0
  57. package/.ai/blueprints/core-extend/plan.schema.json +39 -0
  58. package/.ai/blueprints/core-extend/required-files.yaml +36 -0
  59. package/.ai/blueprints/core-extend/spec-requirements.yaml +17 -0
  60. package/.ai/blueprints/core-extend/steps.yaml +54 -0
  61. package/.ai/blueprints/edit-module/README.md +9 -0
  62. package/.ai/blueprints/edit-module/allowed-paths.yaml +27 -0
  63. package/.ai/blueprints/edit-module/blueprint.json +20 -0
  64. package/.ai/blueprints/edit-module/examples/invalid/input-unknown-change.json +5 -0
  65. package/.ai/blueprints/edit-module/examples/invalid/plan-touches-platform.json +15 -0
  66. package/.ai/blueprints/edit-module/examples/valid/input.json +5 -0
  67. package/.ai/blueprints/edit-module/examples/valid/plan.json +25 -0
  68. package/.ai/blueprints/edit-module/gates.yaml +30 -0
  69. package/.ai/blueprints/edit-module/input.schema.json +31 -0
  70. package/.ai/blueprints/edit-module/plan.schema.json +65 -0
  71. package/.ai/blueprints/edit-module/required-files.yaml +80 -0
  72. package/.ai/blueprints/edit-module/spec-requirements.yaml +15 -0
  73. package/.ai/blueprints/edit-module/steps.yaml +115 -0
  74. package/.ai/blueprints/new-module/README.md +7 -0
  75. package/.ai/blueprints/new-module/allowed-paths.yaml +27 -0
  76. package/.ai/blueprints/new-module/blueprint.json +20 -0
  77. package/.ai/blueprints/new-module/examples/invalid/input-spec-outside-modules.json +4 -0
  78. package/.ai/blueprints/new-module/examples/invalid/plan-unknown-gate.json +8 -0
  79. package/.ai/blueprints/new-module/examples/valid/input.json +5 -0
  80. package/.ai/blueprints/new-module/examples/valid/plan.json +22 -0
  81. package/.ai/blueprints/new-module/gates.yaml +30 -0
  82. package/.ai/blueprints/new-module/input.schema.json +21 -0
  83. package/.ai/blueprints/new-module/plan.schema.json +58 -0
  84. package/.ai/blueprints/new-module/required-files.yaml +73 -0
  85. package/.ai/blueprints/new-module/spec-requirements.yaml +30 -0
  86. package/.ai/blueprints/new-module/steps.yaml +138 -0
  87. package/.ai/blueprints/release/README.md +5 -0
  88. package/.ai/blueprints/release/allowed-paths.yaml +19 -0
  89. package/.ai/blueprints/release/blueprint.json +14 -0
  90. package/.ai/blueprints/release/examples/invalid/input-bad-version.json +4 -0
  91. package/.ai/blueprints/release/examples/invalid/plan-bad-branch.json +7 -0
  92. package/.ai/blueprints/release/examples/valid/input.json +5 -0
  93. package/.ai/blueprints/release/examples/valid/plan.json +20 -0
  94. package/.ai/blueprints/release/gates.yaml +20 -0
  95. package/.ai/blueprints/release/input.schema.json +24 -0
  96. package/.ai/blueprints/release/plan.schema.json +46 -0
  97. package/.ai/blueprints/release/required-files.yaml +19 -0
  98. package/.ai/blueprints/release/spec-requirements.yaml +8 -0
  99. package/.ai/blueprints/release/steps.yaml +47 -0
  100. package/.ai/blueprints/security-review/README.md +5 -0
  101. package/.ai/blueprints/security-review/allowed-paths.yaml +6 -0
  102. package/.ai/blueprints/security-review/blueprint.json +14 -0
  103. package/.ai/blueprints/security-review/examples/invalid/input-unknown-kind.json +4 -0
  104. package/.ai/blueprints/security-review/examples/invalid/plan-finding-without-scenario.json +14 -0
  105. package/.ai/blueprints/security-review/examples/valid/input.json +4 -0
  106. package/.ai/blueprints/security-review/examples/valid/plan.json +19 -0
  107. package/.ai/blueprints/security-review/gates.yaml +22 -0
  108. package/.ai/blueprints/security-review/input.schema.json +20 -0
  109. package/.ai/blueprints/security-review/plan.schema.json +65 -0
  110. package/.ai/blueprints/security-review/required-files.yaml +6 -0
  111. package/.ai/blueprints/security-review/spec-requirements.yaml +9 -0
  112. package/.ai/blueprints/security-review/steps.yaml +38 -0
  113. package/.ai/policies/capabilities.yaml +164 -0
  114. package/.ai/policies/model-routing.yaml +72 -0
  115. package/.ai/policies/path-ownership.yaml +65 -0
  116. package/.ai/policies/task-budgets.yaml +37 -0
  117. package/.ai/references/catalog/LICENSE +21 -0
  118. package/.ai/references/catalog/migrations/0001_catalog_core.down.sql +2 -0
  119. package/.ai/references/catalog/migrations/0001_catalog_core.up.sql +21 -0
  120. package/.ai/references/catalog/migrations/0002_catalog_history.down.sql +3 -0
  121. package/.ai/references/catalog/migrations/0002_catalog_history.up.sql +20 -0
  122. package/.ai/references/catalog/migrations/0003_catalog_history_service_actors.down.sql +3 -0
  123. package/.ai/references/catalog/migrations/0003_catalog_history_service_actors.up.sql +36 -0
  124. package/.ai/references/catalog/migrations/0004_catalog_idempotency_ledger.down.sql +3 -0
  125. package/.ai/references/catalog/migrations/0004_catalog_idempotency_ledger.up.sql +19 -0
  126. package/.ai/references/catalog/migrations/README.md +3 -0
  127. package/.ai/references/catalog/module.json +27 -0
  128. package/.ai/references/catalog/package.json +49 -0
  129. package/.ai/references/catalog/spec/module.yaml +86 -0
  130. package/.ai/references/catalog/src/acl/permissions.ts +6 -0
  131. package/.ai/references/catalog/src/agent/tools.ts +164 -0
  132. package/.ai/references/catalog/src/api/endpoints.ts +243 -0
  133. package/.ai/references/catalog/src/client/CatalogHistoryDrawer.tsrx +123 -0
  134. package/.ai/references/catalog/src/client/CatalogItemForm.tsrx +190 -0
  135. package/.ai/references/catalog/src/client/CatalogView.tsrx +473 -0
  136. package/.ai/references/catalog/src/client/api.ts +111 -0
  137. package/.ai/references/catalog/src/client/contribution.tsrx +61 -0
  138. package/.ai/references/catalog/src/client/index.ts +18 -0
  139. package/.ai/references/catalog/src/client/navigation-copy.ts +9 -0
  140. package/.ai/references/catalog/src/client/state.ts +24 -0
  141. package/.ai/references/catalog/src/domain/types.ts +32 -0
  142. package/.ai/references/catalog/src/domain/variables.ts +111 -0
  143. package/.ai/references/catalog/src/index.ts +31 -0
  144. package/.ai/references/catalog/src/platform.ts +35 -0
  145. package/.ai/references/catalog/src/server/index.ts +4 -0
  146. package/.ai/references/catalog/src/server/runtime.ts +86 -0
  147. package/.ai/references/catalog/src/services/catalog-service.ts +306 -0
  148. package/.ai/references/catalog/src/services/database-repository.ts +440 -0
  149. package/.ai/references/catalog/src/services/index.ts +4 -0
  150. package/.ai/references/catalog/src/services/migration.ts +171 -0
  151. package/.ai/references/catalog/src/services/repository.ts +36 -0
  152. package/.ai/references/catalog/src/services/target-idempotency.ts +59 -0
  153. package/.ai/references/catalog/tests/agent-tools.test.ts +277 -0
  154. package/.ai/references/catalog/tests/endpoints.test.ts +320 -0
  155. package/.ai/references/catalog/tests/idempotency.test.ts +297 -0
  156. package/.ai/references/catalog/tests/migrations.test.ts +149 -0
  157. package/.ai/references/catalog/tests/module.test.ts +271 -0
  158. package/.ai/references/catalog/tests/support/database.ts +76 -0
  159. package/.ai/references/catalog/translations/en.json +101 -0
  160. package/.ai/references/catalog/translations/pl.json +101 -0
  161. package/.ai/references/catalog/tsconfig.json +15 -0
  162. package/.ai/references/catalog/vitest.config.ts +16 -0
  163. package/.ai/references/catalog.provenance.json +55 -0
  164. package/.ai/skills/README.md +36 -0
  165. package/.ai/skills/agent-tool-design/SKILL.md +209 -0
  166. package/.ai/skills/auth-security-review/SKILL.md +96 -0
  167. package/.ai/skills/auto-review/SKILL.md +112 -0
  168. package/.ai/skills/bug-hunt/SKILL.md +110 -0
  169. package/.ai/skills/business-agent-design/SKILL.md +188 -0
  170. package/.ai/skills/cli-extension/SKILL.md +114 -0
  171. package/.ai/skills/core-extend/SKILL.md +104 -0
  172. package/.ai/skills/database-adapter/SKILL.md +204 -0
  173. package/.ai/skills/database-adapter/references/first-run-and-matrix.md +105 -0
  174. package/.ai/skills/migration-authoring/SKILL.md +167 -0
  175. package/.ai/skills/module-new/SKILL.md +180 -0
  176. package/.ai/skills/module-update/SKILL.md +100 -0
  177. package/.ai/skills/perf-audit/SKILL.md +105 -0
  178. package/.ai/skills/release-eject-pr/SKILL.md +113 -0
  179. package/.ai/skills/spec-approval/SKILL.md +112 -0
  180. package/.ai/skills/test-hardening/SKILL.md +86 -0
  181. package/.ai/skills/translations-i18n/SKILL.md +85 -0
  182. package/.ai/skills/ux-design/SKILL.md +97 -0
  183. package/.ai/skills/variables/SKILL.md +164 -0
  184. package/.ai/skills/workflow-development/SKILL.md +199 -0
  185. package/AGENTS.md +59 -0
  186. package/LICENSE +21 -0
  187. package/README.md +24 -0
  188. package/docs/agent-contract.md +45 -0
  189. package/docs/design-system.md +217 -0
  190. package/modules/agents/migrations/0001_agents_core.down.sql +4 -0
  191. package/modules/agents/migrations/0001_agents_core.up.sql +106 -0
  192. package/modules/agents/migrations/0002_provider_connections.down.sql +1 -0
  193. package/modules/agents/migrations/0002_provider_connections.up.sql +34 -0
  194. package/modules/agents/migrations/0003_resource_audit.down.sql +1 -0
  195. package/modules/agents/migrations/0003_resource_audit.up.sql +25 -0
  196. package/modules/agents/migrations/0004_run_grants.down.sql +1 -0
  197. package/modules/agents/migrations/0004_run_grants.up.sql +19 -0
  198. package/modules/agents/migrations/0005_long_running_limits.down.sql +2 -0
  199. package/modules/agents/migrations/0005_long_running_limits.up.sql +14 -0
  200. package/modules/agents/migrations/0006_agent_skills.down.sql +3 -0
  201. package/modules/agents/migrations/0006_agent_skills.up.sql +44 -0
  202. package/modules/agents/migrations/0007_model_readiness.down.sql +1 -0
  203. package/modules/agents/migrations/0007_model_readiness.up.sql +18 -0
  204. package/modules/agents/migrations/0008_output_limits.down.sql +2 -0
  205. package/modules/agents/migrations/0008_output_limits.up.sql +8 -0
  206. package/modules/agents/migrations/0009_agent_audit_v3.down.sql +1 -0
  207. package/modules/agents/migrations/0009_agent_audit_v3.up.sql +25 -0
  208. package/modules/agents/migrations/0012_agent_run_costs.down.sql +3 -0
  209. package/modules/agents/migrations/0012_agent_run_costs.up.sql +32 -0
  210. package/modules/agents/migrations/0013_workflow_prerequisites.down.sql +3 -0
  211. package/modules/agents/migrations/0013_workflow_prerequisites.up.sql +97 -0
  212. package/modules/agents/migrations/0014_agent_action_audit.down.sql +1 -0
  213. package/modules/agents/migrations/0014_agent_action_audit.up.sql +25 -0
  214. package/modules/agents/migrations/0015_agent_run_actors.down.sql +1 -0
  215. package/modules/agents/migrations/0015_agent_run_actors.up.sql +17 -0
  216. package/modules/agents/migrations/0016_module_owned_agents.down.sql +6 -0
  217. package/modules/agents/migrations/0016_module_owned_agents.up.sql +68 -0
  218. package/modules/agents/migrations/0017_agent_authorization_subjects.down.sql +2 -0
  219. package/modules/agents/migrations/0017_agent_authorization_subjects.up.sql +18 -0
  220. package/modules/agents/migrations/0018_agent_child_tenant_isolation.down.sql +12 -0
  221. package/modules/agents/migrations/0018_agent_child_tenant_isolation.up.sql +88 -0
  222. package/modules/agents/migrations/0019_background_recovery_grants.down.sql +6 -0
  223. package/modules/agents/migrations/0019_background_recovery_grants.up.sql +17 -0
  224. package/modules/agents/migrations/0020_provider_summary_role.down.sql +2 -0
  225. package/modules/agents/migrations/0020_provider_summary_role.up.sql +17 -0
  226. package/modules/agents/migrations/0021_agents_agent_reconciliation_role.down.sql +4 -0
  227. package/modules/agents/migrations/0021_agents_agent_reconciliation_role.up.sql +7 -0
  228. package/modules/agents/migrations/README.md +39 -0
  229. package/modules/agents/module.json +38 -0
  230. package/modules/agents/package.json +56 -0
  231. package/modules/agents/spec/module.yaml +271 -0
  232. package/modules/agents/spec/procedures-compatibility.md +63 -0
  233. package/modules/agents/src/acl/permissions.ts +13 -0
  234. package/modules/agents/src/api/endpoints.ts +1122 -0
  235. package/modules/agents/src/cli/commands.json +29 -0
  236. package/modules/agents/src/cli/index.ts +162 -0
  237. package/modules/agents/src/client/AgentDashboardWidget.tsrx +32 -0
  238. package/modules/agents/src/client/AgentDefinitionForm.tsrx +362 -0
  239. package/modules/agents/src/client/AgentDefinitionList.tsrx +127 -0
  240. package/modules/agents/src/client/AgentPlaygroundView.tsrx +246 -0
  241. package/modules/agents/src/client/AgentProcedureForm.tsrx +182 -0
  242. package/modules/agents/src/client/AgentProcedureList.tsrx +118 -0
  243. package/modules/agents/src/client/AgentProceduresView.tsrx +253 -0
  244. package/modules/agents/src/client/AgentProvidersView.tsrx +248 -0
  245. package/modules/agents/src/client/AgentRunsView.tsrx +304 -0
  246. package/modules/agents/src/client/AgentUsageView.tsrx +233 -0
  247. package/modules/agents/src/client/AgentsView.tsrx +339 -0
  248. package/modules/agents/src/client/ModuleAgentBindingForm.tsrx +239 -0
  249. package/modules/agents/src/client/ModuleAgentList.tsrx +122 -0
  250. package/modules/agents/src/client/ProviderConnectionForm.tsrx +273 -0
  251. package/modules/agents/src/client/ProviderConnectionList.tsrx +229 -0
  252. package/modules/agents/src/client/ProviderModelEditor.tsrx +313 -0
  253. package/modules/agents/src/client/RunTimeline.tsrx +212 -0
  254. package/modules/agents/src/client/agents.css +349 -0
  255. package/modules/agents/src/client/api.ts +373 -0
  256. package/modules/agents/src/client/contribution.tsrx +181 -0
  257. package/modules/agents/src/client/index.ts +21 -0
  258. package/modules/agents/src/client/presentation.ts +162 -0
  259. package/modules/agents/src/client/state.ts +100 -0
  260. package/modules/agents/src/domain/context-variables.ts +58 -0
  261. package/modules/agents/src/domain/run-timeline.ts +145 -0
  262. package/modules/agents/src/domain/types.ts +481 -0
  263. package/modules/agents/src/index.ts +88 -0
  264. package/modules/agents/src/platform.ts +82 -0
  265. package/modules/agents/src/server/action-execution.ts +811 -0
  266. package/modules/agents/src/server/define-agent.ts +170 -0
  267. package/modules/agents/src/server/index.ts +67 -0
  268. package/modules/agents/src/server/run-execution.ts +231 -0
  269. package/modules/agents/src/server/run-queue.ts +96 -0
  270. package/modules/agents/src/server/runtime.ts +448 -0
  271. package/modules/agents/src/server/tools.ts +18 -0
  272. package/modules/agents/src/services/agent-service.ts +2167 -0
  273. package/modules/agents/src/services/credential-vault.ts +133 -0
  274. package/modules/agents/src/services/database-repository.ts +2786 -0
  275. package/modules/agents/src/services/index.ts +33 -0
  276. package/modules/agents/src/services/migration.ts +1152 -0
  277. package/modules/agents/src/services/module-agent-preflight.ts +76 -0
  278. package/modules/agents/src/services/outbound-policy.ts +136 -0
  279. package/modules/agents/src/services/provider-broker.ts +80 -0
  280. package/modules/agents/src/services/provider-repository.ts +589 -0
  281. package/modules/agents/src/services/provider-service.ts +968 -0
  282. package/modules/agents/src/services/repository.ts +294 -0
  283. package/modules/agents/src/services/run-grant.ts +305 -0
  284. package/modules/agents/src/services/usage-service.ts +119 -0
  285. package/modules/agents/src/services/worker.ts +442 -0
  286. package/modules/agents/src/settings.ts +244 -0
  287. package/modules/agents/translations/en.json +403 -0
  288. package/modules/agents/translations/pl.json +403 -0
  289. package/modules/auth/README.md +215 -0
  290. package/modules/auth/migrations/0001_auth_core.up.sql +108 -0
  291. package/modules/auth/migrations/0002_bundled_module_scopes.up.sql +26 -0
  292. package/modules/auth/migrations/0003_agent_core_scopes.up.sql +12 -0
  293. package/modules/auth/migrations/0004_owner_only_development_scopes.up.sql +8 -0
  294. package/modules/auth/migrations/0005_agent_provider_scopes.up.sql +13 -0
  295. package/modules/auth/migrations/0006_tenant_slug.up.sql +6 -0
  296. package/modules/auth/migrations/0007_sandbox_scopes.up.sql +13 -0
  297. package/modules/auth/migrations/0008_api_tokens.up.sql +43 -0
  298. package/modules/auth/migrations/0009_module_settings.up.sql +24 -0
  299. package/modules/auth/migrations/0010_sign_in_lockout.up.sql +11 -0
  300. package/modules/auth/migrations/0011_session_ids_and_password_reset.up.sql +7 -0
  301. package/modules/auth/migrations/0012_roles.up.sql +31 -0
  302. package/modules/auth/migrations/0013_audit.up.sql +27 -0
  303. package/modules/auth/migrations/0014_audit_actor.up.sql +4 -0
  304. package/modules/auth/migrations/0015_account_security.up.sql +81 -0
  305. package/modules/auth/module.json +26 -0
  306. package/modules/auth/package.json +61 -0
  307. package/modules/auth/spec/module.yaml +190 -0
  308. package/modules/auth/src/acl/scopes.ts +86 -0
  309. package/modules/auth/src/api/attempt-limiter.ts +42 -0
  310. package/modules/auth/src/api/client-address.ts +14 -0
  311. package/modules/auth/src/api/cookies.ts +52 -0
  312. package/modules/auth/src/api/origin.ts +40 -0
  313. package/modules/auth/src/cli/commands.json +74 -0
  314. package/modules/auth/src/cli/database.ts +51 -0
  315. package/modules/auth/src/cli/greenfield.ts +173 -0
  316. package/modules/auth/src/cli/index.ts +184 -0
  317. package/modules/auth/src/cli/provisioning.ts +211 -0
  318. package/modules/auth/src/client/AuthBackdrop.tsrx +137 -0
  319. package/modules/auth/src/client/AuthenticationCore.tsrx +630 -0
  320. package/modules/auth/src/client/PasswordChangeRequired.tsrx +145 -0
  321. package/modules/auth/src/client/PublicAuthFlows.tsrx +379 -0
  322. package/modules/auth/src/client/api.ts +464 -0
  323. package/modules/auth/src/client/audit/AuditView.tsrx +357 -0
  324. package/modules/auth/src/client/audit/api.ts +164 -0
  325. package/modules/auth/src/client/audit/audit-columns.tsrx +47 -0
  326. package/modules/auth/src/client/audit/audit-row.ts +38 -0
  327. package/modules/auth/src/client/auth.css +483 -0
  328. package/modules/auth/src/client/contribution.tsrx +100 -0
  329. package/modules/auth/src/client/index.ts +32 -0
  330. package/modules/auth/src/client/security/SecurityView.tsrx +253 -0
  331. package/modules/auth/src/client/settings/PreferencesCard.tsrx +65 -0
  332. package/modules/auth/src/client/settings/SettingsView.tsrx +212 -0
  333. package/modules/auth/src/client/settings/WorkspaceCard.tsrx +59 -0
  334. package/modules/auth/src/client/settings/api.ts +115 -0
  335. package/modules/auth/src/client/slug.ts +26 -0
  336. package/modules/auth/src/client/state.ts +115 -0
  337. package/modules/auth/src/client/tokens/ApiTokenForm.tsrx +153 -0
  338. package/modules/auth/src/client/tokens/ApiTokenSecret.tsrx +35 -0
  339. package/modules/auth/src/client/tokens/ApiTokensView.tsrx +216 -0
  340. package/modules/auth/src/client/tokens/api.ts +59 -0
  341. package/modules/auth/src/client/tokens/state.ts +26 -0
  342. package/modules/auth/src/client/tokens/token-columns.tsrx +64 -0
  343. package/modules/auth/src/client/translations.ts +23 -0
  344. package/modules/auth/src/domain/types.ts +152 -0
  345. package/modules/auth/src/index.ts +42 -0
  346. package/modules/auth/src/middleware/authentication.ts +97 -0
  347. package/modules/auth/src/platform.ts +0 -0
  348. package/modules/auth/src/server/actor.ts +12 -0
  349. package/modules/auth/src/server/audit-endpoints.ts +51 -0
  350. package/modules/auth/src/server/composition.ts +9 -0
  351. package/modules/auth/src/server/endpoints.ts +893 -0
  352. package/modules/auth/src/server/http.ts +153 -0
  353. package/modules/auth/src/server/index.ts +37 -0
  354. package/modules/auth/src/server/roles-endpoints.ts +120 -0
  355. package/modules/auth/src/server/runtime.ts +705 -0
  356. package/modules/auth/src/server/session-endpoints.ts +86 -0
  357. package/modules/auth/src/server/session-security.ts +62 -0
  358. package/modules/auth/src/server/token-endpoints.ts +106 -0
  359. package/modules/auth/src/services/auth-service-error.ts +11 -0
  360. package/modules/auth/src/services/auth-service.ts +2309 -0
  361. package/modules/auth/src/services/database-repository.ts +1825 -0
  362. package/modules/auth/src/services/mail-delivery.ts +27 -0
  363. package/modules/auth/src/services/migration.ts +591 -0
  364. package/modules/auth/src/services/password.ts +115 -0
  365. package/modules/auth/src/services/repository.ts +395 -0
  366. package/modules/auth/src/services/settings-store.ts +92 -0
  367. package/modules/auth/src/services/totp.ts +135 -0
  368. package/modules/auth/src/services/validation.ts +186 -0
  369. package/modules/auth/src/settings.ts +150 -0
  370. package/modules/auth/translations/en.json +263 -0
  371. package/modules/auth/translations/pl.json +263 -0
  372. package/modules/automations/migrations/0001_automations_core.down.sql +10 -0
  373. package/modules/automations/migrations/0001_automations_core.up.sql +76 -0
  374. package/modules/automations/migrations/0002_automations_targets.down.sql +9 -0
  375. package/modules/automations/migrations/0002_automations_targets.up.sql +37 -0
  376. package/modules/automations/migrations/0003_automations_scheduler_role.down.sql +3 -0
  377. package/modules/automations/migrations/0003_automations_scheduler_role.up.sql +19 -0
  378. package/modules/automations/migrations/0004_automations_trigger_routing_role.down.sql +3 -0
  379. package/modules/automations/migrations/0004_automations_trigger_routing_role.up.sql +18 -0
  380. package/modules/automations/migrations/README.md +3 -0
  381. package/modules/automations/module.json +31 -0
  382. package/modules/automations/package.json +55 -0
  383. package/modules/automations/spec/module.yaml +93 -0
  384. package/modules/automations/src/acl/permissions.ts +10 -0
  385. package/modules/automations/src/api/endpoints.ts +480 -0
  386. package/modules/automations/src/client/AutomationScheduleForm.tsrx +218 -0
  387. package/modules/automations/src/client/AutomationSchedulesView.tsrx +339 -0
  388. package/modules/automations/src/client/AutomationTriggerForm.tsrx +190 -0
  389. package/modules/automations/src/client/AutomationTriggersView.tsrx +329 -0
  390. package/modules/automations/src/client/api.ts +148 -0
  391. package/modules/automations/src/client/contribution.tsrx +70 -0
  392. package/modules/automations/src/client/index.ts +20 -0
  393. package/modules/automations/src/client/presentation.ts +38 -0
  394. package/modules/automations/src/client/state.ts +40 -0
  395. package/modules/automations/src/client/target-selection.ts +44 -0
  396. package/modules/automations/src/domain/cadence.ts +44 -0
  397. package/modules/automations/src/domain/types.ts +110 -0
  398. package/modules/automations/src/domain/variables.ts +178 -0
  399. package/modules/automations/src/index.ts +39 -0
  400. package/modules/automations/src/platform.ts +73 -0
  401. package/modules/automations/src/server/execution.ts +77 -0
  402. package/modules/automations/src/server/index.ts +39 -0
  403. package/modules/automations/src/server/runtime.ts +218 -0
  404. package/modules/automations/src/server/targets.ts +116 -0
  405. package/modules/automations/src/services/automations-service.ts +10 -0
  406. package/modules/automations/src/services/database-repository.ts +763 -0
  407. package/modules/automations/src/services/index.ts +5 -0
  408. package/modules/automations/src/services/migration.ts +223 -0
  409. package/modules/automations/src/services/repository.ts +119 -0
  410. package/modules/automations/src/services/schedule-service.ts +837 -0
  411. package/modules/automations/src/services/secret-vault.ts +124 -0
  412. package/modules/automations/src/services/trigger-service.ts +648 -0
  413. package/modules/automations/src/settings.ts +69 -0
  414. package/modules/automations/translations/en.json +126 -0
  415. package/modules/automations/translations/pl.json +126 -0
  416. package/modules/automations-workflows-integration/module.json +27 -0
  417. package/modules/automations-workflows-integration/package.json +48 -0
  418. package/modules/automations-workflows-integration/spec/module.yaml +93 -0
  419. package/modules/automations-workflows-integration/src/index.ts +14 -0
  420. package/modules/automations-workflows-integration/src/platform.ts +24 -0
  421. package/modules/automations-workflows-integration/src/server/adapter.ts +272 -0
  422. package/modules/automations-workflows-integration/src/server/index.ts +11 -0
  423. package/modules/automations-workflows-integration/src/server/tools.ts +0 -0
  424. package/modules/automations-workflows-integration/translations/en.json +21 -0
  425. package/modules/automations-workflows-integration/translations/pl.json +21 -0
  426. package/modules/profile/migrations/0001_profile_core.down.sql +1 -0
  427. package/modules/profile/migrations/0001_profile_core.up.sql +13 -0
  428. package/modules/profile/migrations/0002_profile_language.down.sql +1 -0
  429. package/modules/profile/migrations/0002_profile_language.up.sql +12 -0
  430. package/modules/profile/migrations/README.md +3 -0
  431. package/modules/profile/module.json +23 -0
  432. package/modules/profile/package.json +55 -0
  433. package/modules/profile/spec/module.yaml +136 -0
  434. package/modules/profile/src/acl/permissions.ts +5 -0
  435. package/modules/profile/src/api/endpoints.ts +184 -0
  436. package/modules/profile/src/client/DisplayNameCard.tsrx +59 -0
  437. package/modules/profile/src/client/LanguageCard.tsrx +89 -0
  438. package/modules/profile/src/client/PasswordCard.tsrx +79 -0
  439. package/modules/profile/src/client/ProfileView.tsrx +192 -0
  440. package/modules/profile/src/client/SessionsCard.tsrx +158 -0
  441. package/modules/profile/src/client/api.ts +134 -0
  442. package/modules/profile/src/client/contribution.tsrx +61 -0
  443. package/modules/profile/src/client/index.ts +15 -0
  444. package/modules/profile/src/client/password.ts +41 -0
  445. package/modules/profile/src/client/sessions-api.ts +52 -0
  446. package/modules/profile/src/client/state.ts +23 -0
  447. package/modules/profile/src/domain/types.ts +21 -0
  448. package/modules/profile/src/index.ts +21 -0
  449. package/modules/profile/src/platform.ts +23 -0
  450. package/modules/profile/src/server/index.ts +7 -0
  451. package/modules/profile/src/server/runtime.ts +84 -0
  452. package/modules/profile/src/services/database-repository.ts +154 -0
  453. package/modules/profile/src/services/index.ts +6 -0
  454. package/modules/profile/src/services/migration.ts +58 -0
  455. package/modules/profile/src/services/profile-service.ts +114 -0
  456. package/modules/profile/src/services/repository.ts +13 -0
  457. package/modules/profile/translations/en.json +58 -0
  458. package/modules/profile/translations/pl.json +58 -0
  459. package/modules/sandbox/migrations/0001_sandbox_core.down.sql +6 -0
  460. package/modules/sandbox/migrations/0001_sandbox_core.up.sql +70 -0
  461. package/modules/sandbox/migrations/0002_sandbox_session_lifecycle.down.sql +36 -0
  462. package/modules/sandbox/migrations/0002_sandbox_session_lifecycle.up.sql +37 -0
  463. package/modules/sandbox/migrations/README.md +7 -0
  464. package/modules/sandbox/module.json +31 -0
  465. package/modules/sandbox/package.json +56 -0
  466. package/modules/sandbox/spec/module.yaml +111 -0
  467. package/modules/sandbox/src/acl/permissions.ts +18 -0
  468. package/modules/sandbox/src/api/endpoints.ts +439 -0
  469. package/modules/sandbox/src/cli/commands.json +84 -0
  470. package/modules/sandbox/src/cli/index.ts +450 -0
  471. package/modules/sandbox/src/client/SandboxAccessView.tsrx +191 -0
  472. package/modules/sandbox/src/client/SandboxGrantForm.tsrx +134 -0
  473. package/modules/sandbox/src/client/SandboxGrantList.tsrx +83 -0
  474. package/modules/sandbox/src/client/SandboxSessionList.tsrx +56 -0
  475. package/modules/sandbox/src/client/api.ts +87 -0
  476. package/modules/sandbox/src/client/contribution.tsrx +47 -0
  477. package/modules/sandbox/src/client/index.ts +18 -0
  478. package/modules/sandbox/src/client/presentation.ts +47 -0
  479. package/modules/sandbox/src/client/state.ts +20 -0
  480. package/modules/sandbox/src/domain/types.ts +125 -0
  481. package/modules/sandbox/src/index.ts +33 -0
  482. package/modules/sandbox/src/platform.ts +28 -0
  483. package/modules/sandbox/src/server/index.ts +20 -0
  484. package/modules/sandbox/src/server/runtime.ts +119 -0
  485. package/modules/sandbox/src/services/database-repository.ts +567 -0
  486. package/modules/sandbox/src/services/directory.ts +33 -0
  487. package/modules/sandbox/src/services/index.ts +19 -0
  488. package/modules/sandbox/src/services/migration.ts +145 -0
  489. package/modules/sandbox/src/services/repository.ts +55 -0
  490. package/modules/sandbox/src/services/sandbox-service-error.ts +10 -0
  491. package/modules/sandbox/src/services/sandbox-service.ts +533 -0
  492. package/modules/sandbox/translations/en.json +77 -0
  493. package/modules/sandbox/translations/pl.json +77 -0
  494. package/modules/system/module.json +18 -0
  495. package/modules/system/package.json +56 -0
  496. package/modules/system/spec/module.yaml +104 -0
  497. package/modules/system/src/acl/permissions.ts +10 -0
  498. package/modules/system/src/client/ModuleSettingRow.tsrx +191 -0
  499. package/modules/system/src/client/ModuleSettingsSection.tsrx +155 -0
  500. package/modules/system/src/client/ModulesView.tsrx +241 -0
  501. package/modules/system/src/client/api.ts +36 -0
  502. package/modules/system/src/client/contribution.tsrx +48 -0
  503. package/modules/system/src/client/index.ts +26 -0
  504. package/modules/system/src/client/module-columns.tsrx +66 -0
  505. package/modules/system/src/client/overview-api.ts +30 -0
  506. package/modules/system/src/client/setting-copy.ts +30 -0
  507. package/modules/system/src/client/settings-api.ts +57 -0
  508. package/modules/system/src/client/state.ts +16 -0
  509. package/modules/system/src/index.ts +11 -0
  510. package/modules/system/src/platform.ts +11 -0
  511. package/modules/system/src/server/endpoints.ts +372 -0
  512. package/modules/system/src/server/index.ts +11 -0
  513. package/modules/system/src/server/module-catalog.ts +117 -0
  514. package/modules/system/translations/en.json +64 -0
  515. package/modules/system/translations/pl.json +64 -0
  516. package/modules/users/migrations/README.md +3 -0
  517. package/modules/users/module.json +27 -0
  518. package/modules/users/package.json +54 -0
  519. package/modules/users/spec/module.yaml +79 -0
  520. package/modules/users/src/acl/permissions.ts +6 -0
  521. package/modules/users/src/api/endpoints.ts +222 -0
  522. package/modules/users/src/client/InviteMemberForm.tsrx +62 -0
  523. package/modules/users/src/client/MemberDrawer.tsrx +298 -0
  524. package/modules/users/src/client/RoleForm.tsrx +140 -0
  525. package/modules/users/src/client/RolesView.tsrx +288 -0
  526. package/modules/users/src/client/UserAccountForm.tsrx +86 -0
  527. package/modules/users/src/client/UsersView.tsrx +486 -0
  528. package/modules/users/src/client/api.ts +172 -0
  529. package/modules/users/src/client/contribution.tsrx +92 -0
  530. package/modules/users/src/client/index.ts +19 -0
  531. package/modules/users/src/client/member-columns.tsrx +52 -0
  532. package/modules/users/src/client/roles-api.ts +90 -0
  533. package/modules/users/src/client/state.ts +42 -0
  534. package/modules/users/src/index.ts +27 -0
  535. package/modules/users/src/platform.ts +11 -0
  536. package/modules/users/src/services/index.ts +2 -0
  537. package/modules/users/src/services/users-service.ts +142 -0
  538. package/modules/users/translations/en.json +133 -0
  539. package/modules/users/translations/pl.json +133 -0
  540. package/modules/workflows/migrations/0001_workflows_core.down.sql +19 -0
  541. package/modules/workflows/migrations/0001_workflows_core.up.sql +228 -0
  542. package/modules/workflows/migrations/0002_workflows_authorization_subject.down.sql +1 -0
  543. package/modules/workflows/migrations/0002_workflows_authorization_subject.up.sql +9 -0
  544. package/modules/workflows/migrations/0003_workflows_worker_role.up.sql +34 -0
  545. package/modules/workflows/migrations/README.md +7 -0
  546. package/modules/workflows/module.json +31 -0
  547. package/modules/workflows/package.json +55 -0
  548. package/modules/workflows/spec/module.yaml +227 -0
  549. package/modules/workflows/src/acl/permissions.ts +10 -0
  550. package/modules/workflows/src/api/endpoints.ts +852 -0
  551. package/modules/workflows/src/client/WorkflowCanvas.tsrx +819 -0
  552. package/modules/workflows/src/client/WorkflowCreateForm.tsrx +111 -0
  553. package/modules/workflows/src/client/WorkflowEditor.tsrx +443 -0
  554. package/modules/workflows/src/client/WorkflowExecutionHistory.tsrx +169 -0
  555. package/modules/workflows/src/client/WorkflowFixtureDrawer.tsrx +206 -0
  556. package/modules/workflows/src/client/WorkflowInputForm.tsrx +125 -0
  557. package/modules/workflows/src/client/WorkflowInputSchemaEditor.tsrx +185 -0
  558. package/modules/workflows/src/client/WorkflowInspector.tsrx +471 -0
  559. package/modules/workflows/src/client/WorkflowLiveConfirmation.tsrx +67 -0
  560. package/modules/workflows/src/client/WorkflowMappingEditor.tsrx +283 -0
  561. package/modules/workflows/src/client/WorkflowNodePalette.tsrx +50 -0
  562. package/modules/workflows/src/client/WorkflowPointerField.tsrx +178 -0
  563. package/modules/workflows/src/client/WorkflowRevisionReview.tsrx +49 -0
  564. package/modules/workflows/src/client/WorkflowRunInspector.tsrx +143 -0
  565. package/modules/workflows/src/client/WorkflowTestPanel.tsrx +109 -0
  566. package/modules/workflows/src/client/WorkflowValidationPanel.tsrx +139 -0
  567. package/modules/workflows/src/client/WorkflowsView.tsrx +1060 -0
  568. package/modules/workflows/src/client/api.ts +312 -0
  569. package/modules/workflows/src/client/canvas-model.ts +472 -0
  570. package/modules/workflows/src/client/connected-node.ts +71 -0
  571. package/modules/workflows/src/client/contribution.tsrx +57 -0
  572. package/modules/workflows/src/client/create-model.ts +15 -0
  573. package/modules/workflows/src/client/draft-repair.ts +86 -0
  574. package/modules/workflows/src/client/index.ts +19 -0
  575. package/modules/workflows/src/client/input-model.ts +124 -0
  576. package/modules/workflows/src/client/mapping-model.ts +110 -0
  577. package/modules/workflows/src/client/pointer-model.ts +123 -0
  578. package/modules/workflows/src/client/presentation.ts +62 -0
  579. package/modules/workflows/src/client/run-actions.ts +19 -0
  580. package/modules/workflows/src/client/state.ts +57 -0
  581. package/modules/workflows/src/client/viewport.ts +107 -0
  582. package/modules/workflows/src/client/workflows.css +899 -0
  583. package/modules/workflows/src/domain/events.ts +399 -0
  584. package/modules/workflows/src/domain/graph.ts +1136 -0
  585. package/modules/workflows/src/domain/types.ts +563 -0
  586. package/modules/workflows/src/index.ts +27 -0
  587. package/modules/workflows/src/platform.ts +49 -0
  588. package/modules/workflows/src/server/index.ts +13 -0
  589. package/modules/workflows/src/server/runtime.ts +266 -0
  590. package/modules/workflows/src/services/cursor-codec.ts +62 -0
  591. package/modules/workflows/src/services/database-repository.ts +2407 -0
  592. package/modules/workflows/src/services/index.ts +6 -0
  593. package/modules/workflows/src/services/migration.ts +375 -0
  594. package/modules/workflows/src/services/payload-codec.ts +264 -0
  595. package/modules/workflows/src/services/repository.ts +285 -0
  596. package/modules/workflows/src/services/simulation.ts +359 -0
  597. package/modules/workflows/src/services/worker.ts +1196 -0
  598. package/modules/workflows/src/services/workflows-service.ts +1395 -0
  599. package/modules/workflows/translations/en.json +348 -0
  600. package/modules/workflows/translations/pl.json +348 -0
  601. package/modules.json +41 -0
  602. package/package.json +125 -0
  603. package/packages/ai-provider/package.json +46 -0
  604. package/packages/ai-provider/src/catalog.ts +102 -0
  605. package/packages/ai-provider/src/errors.ts +110 -0
  606. package/packages/ai-provider/src/index.ts +33 -0
  607. package/packages/ai-provider/src/model.ts +198 -0
  608. package/packages/ai-provider/src/pricing.ts +73 -0
  609. package/packages/cli-protocol/package.json +40 -0
  610. package/packages/cli-protocol/src/index.ts +113 -0
  611. package/packages/client/package.json +46 -0
  612. package/packages/client/src/ApplicationShell.tsrx +374 -0
  613. package/packages/client/src/contributions.ts +172 -0
  614. package/packages/client/src/i18n/index.ts +30 -0
  615. package/packages/client/src/i18n/locale.ts +25 -0
  616. package/packages/client/src/i18n/locales/en.json +66 -0
  617. package/packages/client/src/i18n/locales/pl.json +66 -0
  618. package/packages/client/src/i18n/runtime.ts +201 -0
  619. package/packages/client/src/i18n/translations.ts +88 -0
  620. package/packages/client/src/index.ts +55 -0
  621. package/packages/client/src/routing.ts +9 -0
  622. package/packages/client/src/shell/BrandMark.tsrx +10 -0
  623. package/packages/client/src/shell/CommandPalette.tsrx +79 -0
  624. package/packages/client/src/shell/ContributionOutlets.tsrx +31 -0
  625. package/packages/client/src/shell/DashboardView.tsrx +60 -0
  626. package/packages/client/src/shell/MobileHeader.tsrx +24 -0
  627. package/packages/client/src/shell/OrganizationSwitcher.tsrx +100 -0
  628. package/packages/client/src/shell/OverviewCharts.tsrx +167 -0
  629. package/packages/client/src/shell/PrimaryNavigation.tsrx +75 -0
  630. package/packages/client/src/shell/Sidebar.tsrx +76 -0
  631. package/packages/client/src/shell/Topbar.tsrx +44 -0
  632. package/packages/client/src/shell/UserMenu.tsrx +103 -0
  633. package/packages/client/src/shell/WorkspaceContent.tsrx +30 -0
  634. package/packages/client/src/shell/identity.ts +12 -0
  635. package/packages/client/src/shell/navigation.ts +68 -0
  636. package/packages/client/src/shell/shell.css +734 -0
  637. package/packages/client/src/shell/types.ts +29 -0
  638. package/packages/client/src/state.ts +63 -0
  639. package/packages/client/src/web.ts +39 -0
  640. package/packages/coding-agent/package.json +44 -0
  641. package/packages/coding-agent/src/drivers/byok.ts +322 -0
  642. package/packages/coding-agent/src/drivers/claude-code.ts +290 -0
  643. package/packages/coding-agent/src/drivers/codex.ts +281 -0
  644. package/packages/coding-agent/src/index.ts +56 -0
  645. package/packages/coding-agent/src/registry.ts +119 -0
  646. package/packages/coding-agent/src/roles/contract.ts +60 -0
  647. package/packages/coding-agent/src/roles/defaults.ts +134 -0
  648. package/packages/coding-agent/src/roles/handoff.ts +41 -0
  649. package/packages/coding-agent/src/roles/registry.ts +156 -0
  650. package/packages/coding-agent/src/roles/skills.ts +72 -0
  651. package/packages/coding-agent/src/roles/sync.ts +88 -0
  652. package/packages/coding-agent/src/types.ts +102 -0
  653. package/packages/coding-agent/src/workspace.ts +275 -0
  654. package/packages/contracts/package.json +38 -0
  655. package/packages/contracts/schemas/blueprint.schema.json +48 -0
  656. package/packages/contracts/schemas/cli-extension.schema.json +90 -0
  657. package/packages/contracts/schemas/module-artifact.schema.json +82 -0
  658. package/packages/contracts/schemas/module-catalog.schema.json +48 -0
  659. package/packages/contracts/schemas/module-spec.schema.json +111 -0
  660. package/packages/contracts/schemas/module.schema.json +156 -0
  661. package/packages/contracts/schemas/platform-spec.schema.json +17 -0
  662. package/packages/contracts/schemas/project.schema.json +270 -0
  663. package/packages/contracts/src/index.ts +191 -0
  664. package/packages/contracts/src/module-distribution.ts +47 -0
  665. package/packages/contracts/src/schemas.ts +18 -0
  666. package/packages/contracts/src/variables.ts +156 -0
  667. package/packages/contracts/src/web.ts +60 -0
  668. package/packages/database/package.json +43 -0
  669. package/packages/database/src/contracts.ts +399 -0
  670. package/packages/database/src/index.ts +112 -0
  671. package/packages/database/src/migrations.ts +444 -0
  672. package/packages/database/src/postgresql.ts +517 -0
  673. package/packages/database/src/provider.ts +639 -0
  674. package/packages/database/src/record-history.ts +201 -0
  675. package/packages/database/src/registry.ts +265 -0
  676. package/packages/database/src/reset.ts +87 -0
  677. package/packages/database-pglite/package.json +42 -0
  678. package/packages/database-pglite/src/driver.ts +168 -0
  679. package/packages/database-pglite/src/index.ts +2 -0
  680. package/packages/database-testing/package.json +44 -0
  681. package/packages/database-testing/src/index.ts +8 -0
  682. package/packages/database-testing/src/pglite.ts +124 -0
  683. package/packages/database-testing/src/postgres.ts +184 -0
  684. package/packages/database-testing/src/provider.ts +43 -0
  685. package/packages/database-testing/src/vitest-preset.ts +23 -0
  686. package/packages/dev-console/README.md +6 -0
  687. package/packages/dev-console/package.json +38 -0
  688. package/packages/dev-console/src/index.mjs +220 -0
  689. package/packages/harness/package.json +47 -0
  690. package/packages/harness/schemas/task-packet.schema.json +48 -0
  691. package/packages/harness/src/catalog.ts +24 -0
  692. package/packages/harness/src/errors.ts +9 -0
  693. package/packages/harness/src/index.ts +53 -0
  694. package/packages/harness/src/preamble.ts +31 -0
  695. package/packages/harness/src/runtime.ts +833 -0
  696. package/packages/harness/src/task-packet.ts +86 -0
  697. package/packages/harness/src/tool-adapters.ts +106 -0
  698. package/packages/harness/src/tool-contract.ts +242 -0
  699. package/packages/harness/src/vercel-ai-provider.ts +198 -0
  700. package/packages/kernel/package.json +44 -0
  701. package/packages/kernel/src/acl.ts +20 -0
  702. package/packages/kernel/src/actor.ts +139 -0
  703. package/packages/kernel/src/agent-registry.ts +81 -0
  704. package/packages/kernel/src/capability-registry.ts +28 -0
  705. package/packages/kernel/src/errors.ts +9 -0
  706. package/packages/kernel/src/index.ts +90 -0
  707. package/packages/kernel/src/legacy-local-state.ts +103 -0
  708. package/packages/kernel/src/module-compatibility.ts +70 -0
  709. package/packages/kernel/src/module-registry.ts +124 -0
  710. package/packages/kernel/src/module-settings.ts +403 -0
  711. package/packages/kernel/src/record-history.ts +146 -0
  712. package/packages/kernel/src/runtime-config.ts +51 -0
  713. package/packages/kernel/src/tool-registry.ts +25 -0
  714. package/packages/kernel/src/variable-registry.ts +339 -0
  715. package/packages/sandbox/README.md +691 -0
  716. package/packages/sandbox/bin/flowdular-sandbox.mjs +393 -0
  717. package/packages/sandbox/dist/client/assets/App-ClMOrpyg.js +11 -0
  718. package/packages/sandbox/dist/client/assets/PreviewHost-BHiHrfbQ.js +1 -0
  719. package/packages/sandbox/dist/client/assets/auto-buGEq6de.js +3 -0
  720. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
  721. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
  722. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff +0 -0
  723. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2 +0 -0
  724. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
  725. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
  726. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff +0 -0
  727. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2 +0 -0
  728. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  729. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  730. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  731. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  732. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
  733. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
  734. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2 +0 -0
  735. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff +0 -0
  736. package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
  737. package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
  738. package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff +0 -0
  739. package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2 +0 -0
  740. package/packages/sandbox/dist/client/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2 +0 -0
  741. package/packages/sandbox/dist/client/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2 +0 -0
  742. package/packages/sandbox/dist/client/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2 +0 -0
  743. package/packages/sandbox/dist/client/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2 +0 -0
  744. package/packages/sandbox/dist/client/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2 +0 -0
  745. package/packages/sandbox/dist/client/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2 +0 -0
  746. package/packages/sandbox/dist/client/assets/index-CvwhlQ87.js +4 -0
  747. package/packages/sandbox/dist/client/assets/styles-BPWaGf55.js +3 -0
  748. package/packages/sandbox/dist/client/assets/styles-Dx1_KOag.css +1 -0
  749. package/packages/sandbox/dist/client/favicon.svg +1 -0
  750. package/packages/sandbox/dist/server/assets/auto-CVGNYyb3.js +12785 -0
  751. package/packages/sandbox/dist/server/assets/chunk-DDJLRBDX-3OUNo51g.js +4125 -0
  752. package/packages/sandbox/dist/server/assets/nodefs-DVSI7kG0.js +24 -0
  753. package/packages/sandbox/dist/server/assets/opfs-ahp-D56iokt1.js +388 -0
  754. package/packages/sandbox/dist/server/assets/token-Bvaq7Anz.js +55 -0
  755. package/packages/sandbox/dist/server/assets/token-util-BqSvdIPQ.js +3 -0
  756. package/packages/sandbox/dist/server/assets/token-util-CktFFT4z.js +494 -0
  757. package/packages/sandbox/dist/server/entry.js +91671 -0
  758. package/packages/sandbox/dist/server/favicon.svg +1 -0
  759. package/packages/sandbox/dist/server/index.html +161 -0
  760. package/packages/sandbox/index.html +159 -0
  761. package/packages/sandbox/octane.config.ts +36 -0
  762. package/packages/sandbox/package.json +83 -0
  763. package/packages/sandbox/public/favicon.svg +1 -0
  764. package/packages/sandbox/public/og.png +0 -0
  765. package/packages/sandbox/src/App.tsrx +924 -0
  766. package/packages/sandbox/src/client/ApprovalHandoff.tsrx +39 -0
  767. package/packages/sandbox/src/client/ChatPane.tsrx +694 -0
  768. package/packages/sandbox/src/client/ConnectView.tsrx +86 -0
  769. package/packages/sandbox/src/client/DiffPane.tsrx +150 -0
  770. package/packages/sandbox/src/client/EjectModal.tsrx +571 -0
  771. package/packages/sandbox/src/client/GateResults.tsrx +60 -0
  772. package/packages/sandbox/src/client/GitHubSettingsModal.tsrx +219 -0
  773. package/packages/sandbox/src/client/NewSessionForm.tsrx +214 -0
  774. package/packages/sandbox/src/client/SessionBar.tsrx +151 -0
  775. package/packages/sandbox/src/client/SessionPicker.tsrx +472 -0
  776. package/packages/sandbox/src/client/SpecEditor.tsrx +109 -0
  777. package/packages/sandbox/src/client/SpecReviewCard.tsrx +321 -0
  778. package/packages/sandbox/src/client/WorkCard.tsrx +128 -0
  779. package/packages/sandbox/src/client/WorkbenchModal.tsrx +161 -0
  780. package/packages/sandbox/src/client/WorkspaceMenu.tsrx +100 -0
  781. package/packages/sandbox/src/client/api.ts +797 -0
  782. package/packages/sandbox/src/client/attachments.ts +73 -0
  783. package/packages/sandbox/src/client/dashboard.ts +46 -0
  784. package/packages/sandbox/src/client/github-settings.ts +48 -0
  785. package/packages/sandbox/src/client/highlight.ts +105 -0
  786. package/packages/sandbox/src/client/i18n.ts +32 -0
  787. package/packages/sandbox/src/client/locales/en.json +466 -0
  788. package/packages/sandbox/src/client/locales/pl.json +466 -0
  789. package/packages/sandbox/src/client/session-labels.ts +77 -0
  790. package/packages/sandbox/src/client/state.ts +108 -0
  791. package/packages/sandbox/src/index.ts +10 -0
  792. package/packages/sandbox/src/preview/PreviewHost.tsrx +373 -0
  793. package/packages/sandbox/src/preview/load-module.ts +16 -0
  794. package/packages/sandbox/src/server/attachments.ts +308 -0
  795. package/packages/sandbox/src/server/auto-review.ts +181 -0
  796. package/packages/sandbox/src/server/checkpoints.ts +90 -0
  797. package/packages/sandbox/src/server/config.ts +460 -0
  798. package/packages/sandbox/src/server/dashboard.ts +245 -0
  799. package/packages/sandbox/src/server/delivery/configuration.ts +193 -0
  800. package/packages/sandbox/src/server/delivery/git-pr.ts +1473 -0
  801. package/packages/sandbox/src/server/delivery/index.ts +83 -0
  802. package/packages/sandbox/src/server/delivery/local.ts +151 -0
  803. package/packages/sandbox/src/server/delivery/official-modules.ts +516 -0
  804. package/packages/sandbox/src/server/delivery/plan.ts +218 -0
  805. package/packages/sandbox/src/server/delivery/policies.ts +239 -0
  806. package/packages/sandbox/src/server/delivery/record.ts +41 -0
  807. package/packages/sandbox/src/server/delivery/steps.ts +464 -0
  808. package/packages/sandbox/src/server/delivery/types.ts +158 -0
  809. package/packages/sandbox/src/server/dependencies.ts +88 -0
  810. package/packages/sandbox/src/server/diff.ts +230 -0
  811. package/packages/sandbox/src/server/gates.ts +388 -0
  812. package/packages/sandbox/src/server/index.ts +139 -0
  813. package/packages/sandbox/src/server/path-guard.ts +282 -0
  814. package/packages/sandbox/src/server/planning.ts +749 -0
  815. package/packages/sandbox/src/server/platform-client.ts +189 -0
  816. package/packages/sandbox/src/server/preview-database-host.ts +340 -0
  817. package/packages/sandbox/src/server/preview-database-protocol.ts +163 -0
  818. package/packages/sandbox/src/server/preview-database-proxy.ts +356 -0
  819. package/packages/sandbox/src/server/preview-database.ts +109 -0
  820. package/packages/sandbox/src/server/preview-ipc.ts +15 -0
  821. package/packages/sandbox/src/server/preview-modules.ts +83 -0
  822. package/packages/sandbox/src/server/preview-revision.ts +44 -0
  823. package/packages/sandbox/src/server/preview-runtime.ts +467 -0
  824. package/packages/sandbox/src/server/preview-worker-manager.ts +436 -0
  825. package/packages/sandbox/src/server/preview-worker.ts +168 -0
  826. package/packages/sandbox/src/server/reference.ts +251 -0
  827. package/packages/sandbox/src/server/routes.ts +2258 -0
  828. package/packages/sandbox/src/server/runtime.ts +188 -0
  829. package/packages/sandbox/src/server/session-owner.ts +23 -0
  830. package/packages/sandbox/src/server/sessions.ts +849 -0
  831. package/packages/sandbox/src/server/spec.ts +471 -0
  832. package/packages/sandbox/src/server/turn-lifecycle.ts +56 -0
  833. package/packages/sandbox/src/server/turns.ts +993 -0
  834. package/packages/sandbox/src/server/workspace-install.ts +266 -0
  835. package/packages/sandbox/src/server/workspace-root.ts +73 -0
  836. package/packages/sandbox/src/styles.css +1573 -0
  837. package/packages/sandbox/vite.config.ts +133 -0
  838. package/packages/server/package.json +43 -0
  839. package/packages/server/src/application-routes.ts +21 -0
  840. package/packages/server/src/composition.ts +48 -0
  841. package/packages/server/src/endpoint.ts +142 -0
  842. package/packages/server/src/http.ts +128 -0
  843. package/packages/server/src/index.ts +46 -0
  844. package/packages/server/src/response-lifetime.ts +56 -0
  845. package/packages/server/src/security-headers.ts +130 -0
  846. package/packages/server/src/web-html.ts +55 -0
  847. package/packages/server/src/web.ts +361 -0
  848. package/packages/ui/package.json +46 -0
  849. package/packages/ui/src/brand/BrandMark.tsrx +66 -0
  850. package/packages/ui/src/brand/mark.ts +44 -0
  851. package/packages/ui/src/components/Alert.tsrx +17 -0
  852. package/packages/ui/src/components/Avatar.tsrx +18 -0
  853. package/packages/ui/src/components/Button.tsrx +29 -0
  854. package/packages/ui/src/components/Chart.tsrx +274 -0
  855. package/packages/ui/src/components/CheckGrid.tsrx +93 -0
  856. package/packages/ui/src/components/ConfirmDialog.tsrx +63 -0
  857. package/packages/ui/src/components/Drawer.tsrx +71 -0
  858. package/packages/ui/src/components/EmptyState.tsrx +26 -0
  859. package/packages/ui/src/components/Filters.tsrx +39 -0
  860. package/packages/ui/src/components/FormField.tsrx +27 -0
  861. package/packages/ui/src/components/Kpi.tsrx +36 -0
  862. package/packages/ui/src/components/PageHeader.tsrx +26 -0
  863. package/packages/ui/src/components/ScopeSummary.tsrx +76 -0
  864. package/packages/ui/src/components/SearchField.tsrx +24 -0
  865. package/packages/ui/src/components/SettingRow.tsrx +50 -0
  866. package/packages/ui/src/components/Switch.tsrx +21 -0
  867. package/packages/ui/src/components/Table.tsrx +267 -0
  868. package/packages/ui/src/components/TableCard.tsrx +52 -0
  869. package/packages/ui/src/components/Tag.tsrx +28 -0
  870. package/packages/ui/src/components/VariableField.tsrx +284 -0
  871. package/packages/ui/src/components/VariableInput.tsrx +7 -0
  872. package/packages/ui/src/components/VariableSelect.tsrx +72 -0
  873. package/packages/ui/src/components/VariableTextarea.tsrx +9 -0
  874. package/packages/ui/src/components/variable-field.ts +61 -0
  875. package/packages/ui/src/components/variable-select.ts +69 -0
  876. package/packages/ui/src/icons/Icon.tsrx +56 -0
  877. package/packages/ui/src/index.ts +81 -0
  878. package/packages/ui/src/initials.ts +10 -0
  879. package/packages/ui/src/styles/base.css +71 -0
  880. package/packages/ui/src/styles/components.css +1859 -0
  881. package/packages/ui/src/styles/index.css +3 -0
  882. package/packages/ui/src/styles/tokens.css +124 -0
  883. package/tsconfig.base.json +18 -0
@@ -0,0 +1,466 @@
1
+ {
2
+ "spec.reviewUnavailable": "Nie można odczytać właściwej specyfikacji. Odśwież sesję przed zatwierdzeniem.",
3
+ "workbench.spec.loading": "Wczytywanie specyfikacji…",
4
+ "spec.status.draft": "Szkic",
5
+ "spec.status.approved": "Zatwierdzona",
6
+ "spec.status.rejected": "Odrzucona",
7
+ "gates.title": "Wyniki kontroli",
8
+ "gates.running": "Sprawdzanie modułów…",
9
+ "gates.module": "Moduł: {module}",
10
+ "gates.workspace": "Cała sesja",
11
+ "gates.details": "Szczegóły techniczne dla specjalisty",
12
+ "gates.status.passed": "Poprawnie",
13
+ "gates.status.failed": "Wymaga poprawy",
14
+ "gates.status.skipped": "Nie sprawdzono",
15
+ "gates.explain.passed": "Ta kontrola nie wykryła problemów.",
16
+ "gates.explain.failed": "Poproś specjalistę o poprawienie poniższego problemu, a potem ponów kontrolę.",
17
+ "gates.explain.skipped": "Ta kontrola nie została wykonana. Nie potwierdza gotowości modułu.",
18
+ "gates.name.tests": "Testy działania",
19
+ "gates.name.spec-schema": "Dokument wymagań",
20
+ "gates.name.module-schema": "Konfiguracja modułu",
21
+ "gates.name.dependencies": "Wymagane komponenty",
22
+ "gates.name.typecheck": "Spójność kodu",
23
+ "gates.name.auto-review": "Review zmian",
24
+ "gates.name.format": "Formatowanie kodu",
25
+ "handoff.continue": "Kolejny krok",
26
+ "handoff.approval": "Twoja akceptacja",
27
+ "handoff.question": "Pytanie",
28
+ "handoff.review": "Do sprawdzenia",
29
+ "handoff.blocked": "Wymaga uwagi",
30
+ "handoff.description.continue": "Kolejny specjalista może kontynuować pracę nad tym modułem.",
31
+ "handoff.description.approval": "Sprawdź poniższe wymagania, zanim zatwierdzisz realizację.",
32
+ "handoff.description.question": "Odpowiedz na poniższe pytanie, aby kontynuować.",
33
+ "handoff.description.review": "Sprawdź rezultat i zdecyduj, co dalej.",
34
+ "handoff.description.blocked": "Praca wymaga Twojej uwagi. Poniżej znajdziesz przyczynę.",
35
+ "handoff.details": "Wiadomość specjalisty",
36
+ "api.error.request": "Nie udało się wykonać tej operacji.",
37
+ "api.error.unreachable": "Brak połączenia z pracownią. Uruchom ją ponownie poleceniem npx @flowdular/sandbox.",
38
+ "api.error.deliveryStart": "Nie udało się rozpocząć publikacji.",
39
+ "api.error.delivery": "Publikacja nie powiodła się.",
40
+ "api.error.turnStart": "Nie udało się rozpocząć pracy specjalisty. Twoja wiadomość została zachowana.",
41
+ "api.error.turn": "Połączenie ze specjalistą zostało przerwane.",
42
+ "delivery.step.fork": "Przygotowanie kopii repozytorium GitHub",
43
+ "delivery.step.fetch": "Pobieranie wersji bazowej",
44
+ "delivery.step.worktree": "Przygotowanie kopii roboczej",
45
+ "delivery.step.branch": "Tworzenie gałęzi dla tej sesji",
46
+ "delivery.step.copy": "Przenoszenie modułu do platformy",
47
+ "delivery.step.remove": "Usuwanie wycofanych plików",
48
+ "delivery.step.install": "Podłączanie wymaganych komponentów",
49
+ "delivery.step.enable": "Włączanie modułu",
50
+ "delivery.step.scopes": "Nadawanie dostępu właścicielom",
51
+ "delivery.step.verify": "Sprawdzanie zgodności z platformą",
52
+ "delivery.step.guardrails": "Sprawdzanie zakresu i limitów zmian",
53
+ "delivery.step.commit": "Zapisywanie zmiany w historii wersji",
54
+ "delivery.step.push": "Wysyłanie zmiany do repozytorium",
55
+ "delivery.step.pr": "Przekazywanie zmiany do przeglądu (PR)",
56
+ "delivery.step.cleanup": "Porządkowanie kopii roboczej",
57
+ "delivery.step.build": "Budowanie platformy",
58
+ "delivery.step.restart": "Uruchom ponownie aplikację, aby wczytać zmiany",
59
+ "dashboard.eyebrow": "Pracownia biznesowa",
60
+ "dashboard.title": "Twoja praca z AI",
61
+ "dashboard.description": "Zamień pomysł w funkcję dla swojej firmy. Tutaj sprawdzisz postęp prac i zużycie AI.",
62
+ "dashboard.refresh": "Odśwież",
63
+ "dashboard.new": "Opisz pomysł",
64
+ "dashboard.work": "Twój pomysł",
65
+ "dashboard.modules": "Moduły: {count}",
66
+ "dashboard.table.tokens": "Tokeny",
67
+ "dashboard.table.cost": "Koszt (USD)",
68
+ "dashboard.table.updated": "Aktywność",
69
+ "dashboard.status": "Etap",
70
+ "dashboard.tokens": "Zużycie AI (tokeny)",
71
+ "dashboard.cost": "Zarejestrowany koszt AI",
72
+ "dashboard.updated": "Ostatnia aktywność",
73
+ "dashboard.inProgress": "W przygotowaniu",
74
+ "dashboard.inProgressNote": "Szkice, prace w toku i pomysły do poprawy.",
75
+ "dashboard.approvalNote": "Sprawdź plan, zanim AI zacznie go realizować.",
76
+ "dashboard.acceptedNote": "Przekazane lokalnie: {delivered}. Wysłane do przeglądu: {review}.",
77
+ "dashboard.rejectedNote": "Pomysły, z których rezygnujesz. Możesz je przywrócić.",
78
+ "dashboard.tokensNote": "Tokeny mierzą ilość tekstu przetworzonego przez AI. Wejście: {input}. Odpowiedzi: {output}.",
79
+ "dashboard.tokensHelp": "Obejmuje planowanie i pracę specjalistów zgłoszoną przez dostawcę.",
80
+ "dashboard.costNote": "Kwoty w USD zgłoszone przez dostawców, nie faktura. Nie obejmują opłat za subskrypcje.",
81
+ "dashboard.incomplete": "Tury bez podanej ceny: {cost}. Tury bez liczby tokenów: {tokens}. ? oznacza brak danych, a + oznacza niepełną sumę.",
82
+ "dashboard.legacyRow": "Historia lokalna, właściciel nieznany",
83
+ "dashboard.legacyNote": "Starsze sesje bez zapisanego właściciela: {count}. Są widoczne tylko lokalnie i nie wliczają się do Twoich podsumowań.",
84
+ "dashboard.sessions": "Sesje pracy",
85
+ "dashboard.search": "Znajdź pomysł lub moduł…",
86
+ "dashboard.filters": "Filtry",
87
+ "dashboard.all": "Wszystkie etapy",
88
+ "dashboard.loading": "Wczytywanie Twoich prac…",
89
+ "dashboard.empty": "Tu zaczyna się Twój pierwszy pomysł",
90
+ "dashboard.emptyHint": "Wybierz „Opisz pomysł” i napisz, co ułatwiłoby Ci pracę.",
91
+ "dashboard.noMatch": "Brak pasujących sesji",
92
+ "dashboard.noMatchHint": "Zmień wyszukiwanie lub filtry.",
93
+ "dashboard.open": "Otwórz",
94
+ "dashboard.details": "Podsumowanie",
95
+ "dashboard.scopeNote": "Sumy obejmują Twoją zapisaną pracę w tej organizacji, także archiwum i usunięte sesje z zachowaną historią ({count}). Filtry zmieniają tylko listę. Wysłanie do przeglądu nie oznacza scalenia ani wdrożenia.",
96
+ "dashboard.newHint": "Napisz, kto potrzebuje tej funkcji i co ma dzięki niej zrobić. Przed realizacją zatwierdzisz plan.",
97
+ "dashboard.detailHint": "Postęp, zużycie AI i decyzje dotyczące tego pomysłu.",
98
+ "dashboard.moduleApprovals": "Aktualnie zatwierdzone plany modułów: {approved} z {total}.",
99
+ "dashboard.phases": "Nad czym pracowało AI",
100
+ "dashboard.phase": "Rodzaj pracy",
101
+ "dashboard.noUsage": "AI jeszcze nie rozpoczęło pracy",
102
+ "dashboard.noUsageHint": "Zużycie pojawi się po pierwszej zapisanej turze.",
103
+ "dashboard.reject": "Odrzuć pomysł",
104
+ "dashboard.rejectTitle": "Zrezygnować z tego pomysłu?",
105
+ "dashboard.rejectHint": "Pomysł trafi do odrzuconych. Pliki i historia zużycia pozostaną dostępne. Później możesz go przywrócić.",
106
+ "dashboard.rejectError": "Nie udało się odrzucić pomysłu.",
107
+ "dashboard.deleteHint": "Usuwa kopię roboczą, załączniki i podglądy. Rozmowa oraz zapisane zużycie pozostają. Zmiany przekazane już do platformy nie zostaną usunięte.",
108
+ "dashboard.status.draft": "Szkic",
109
+ "dashboard.status.working": "AI pracuje",
110
+ "dashboard.status.approval": "Czeka na Twoją decyzję",
111
+ "dashboard.status.approved": "Plany przyjęte",
112
+ "dashboard.status.changes": "Do poprawy",
113
+ "dashboard.status.rejected": "Pomysły odrzucone",
114
+ "dashboard.status.attention": "Wymaga uwagi",
115
+ "dashboard.status.review": "Wysłane do przeglądu",
116
+ "dashboard.status.delivered": "Przekazane lokalnie",
117
+ "dashboard.status.archived": "W archiwum",
118
+ "dashboard.role.planner": "Planowanie pracy",
119
+ "dashboard.role.business-manager": "Ustalenie potrzeb biznesowych",
120
+ "dashboard.role.backend-engineer": "Reguły biznesowe i dane",
121
+ "dashboard.role.frontend-engineer": "Tworzenie ekranów",
122
+ "dashboard.role.ux-designer": "Wygoda obsługi",
123
+ "dashboard.role.agentic-engineer": "Automatyzacja",
124
+ "dashboard.role.unknown": "Pozostałe prace",
125
+ "common.add": "Dodaj",
126
+ "common.cancel": "Anuluj",
127
+ "common.close": "Zamknij",
128
+ "common.delete": "Usuń",
129
+ "common.dismiss": "Odrzuć",
130
+ "common.edit": "Edytuj",
131
+ "common.none": "brak",
132
+ "common.restore": "Przywróć",
133
+ "common.save": "Zapisz",
134
+ "common.saving": "Zapisywanie…",
135
+ "common.unset": "nieustawiono",
136
+ "app.brand": "Sandbox Flowdular",
137
+ "app.starting": "Uruchamianie sandboxa…",
138
+ "app.gates.none": "Nie uruchomiono żadnej bramki.",
139
+ "app.github.saved": "Zapisano integrację z GitHub.",
140
+ "app.seo.title": "Sandbox",
141
+ "app.seo.description": "Lokalny obszar roboczy do bezpiecznego planowania, tworzenia, przeglądania i dostarczania modułów Flowdular.",
142
+ "app.seo.imageAlt": "Sandbox Flowdular",
143
+ "app.askAbout": "O pliku {path}: ",
144
+ "app.error.openSession": "Nie można otworzyć sesji.",
145
+ "app.error.state": "Stan sandboxa jest niedostępny.",
146
+ "app.error.startSession": "Nie można uruchomić sesji.",
147
+ "app.error.attachments": "Nie udało się przesłać części załączników: {failures}",
148
+ "app.error.approveSpec": "Nie można zatwierdzić specyfikacji.",
149
+ "app.error.requestChanges": "Nie można poprosić o zmiany specyfikacji.",
150
+ "app.error.addModule": "Nie można dodać modułu do tej sesji.",
151
+ "app.error.handoff": "Nie można zmienić ustawienia przekazania.",
152
+ "app.error.gates": "Nie można uruchomić bramek.",
153
+ "app.error.ejectPlan": "Nie można przygotować planu dostarczenia.",
154
+ "app.error.disconnect": "Nie można odłączyć sandboxa.",
155
+ "app.error.previewMode": "Nie można zmienić trybu danych podglądu.",
156
+ "app.error.github": "Nie można zapisać integracji z GitHub.",
157
+ "app.error.connect": "Sandbox nie mógł połączyć się z tą aplikacją.",
158
+ "app.error.saveConnection": "Nie można zapisać połączenia.",
159
+ "app.error.archiveSession": "Nie można zarchiwizować sesji.",
160
+ "app.error.restoreSession": "Nie można przywrócić sesji.",
161
+ "app.error.deleteSession": "Nie można usunąć sesji.",
162
+ "connect.title": "Połącz sandbox",
163
+ "connect.description": "Sandbox działa z uruchomioną aplikacją Flowdular. W jej panelu Administracja, Tokeny API utwórz token API i wklej go tutaj. Token jest szyfrowany na tym komputerze i nie zostanie ponownie wysłany do przeglądarki.",
164
+ "connect.address.label": "Adres aplikacji",
165
+ "connect.address.help": "Lokalny serwer deweloperski lub wdrożona instancja.",
166
+ "connect.address.placeholder": "https://erp.example.com",
167
+ "connect.token.label": "Token API",
168
+ "connect.token.help": "Wymaga sandbox.access.use oraz sandbox.preview.data dla danych na żywo.",
169
+ "connect.token.placeholder": "clat_…",
170
+ "connect.roles": "Agenci obszaru roboczego: {count} ról",
171
+ "connect.connecting": "Łączenie…",
172
+ "connect.action": "Połącz",
173
+ "session.back": "Sesje",
174
+ "session.modules": "{count} modułów",
175
+ "session.module.visible": "Moduł widoczny w panelach",
176
+ "session.module.all": "Wszystkie moduły",
177
+ "session.module.addLabel": "Moduł do dodania do tej sesji",
178
+ "session.module.choose": "Wybierz moduł",
179
+ "session.module.add": "Dodaj moduł",
180
+ "session.gates": "Sprawdź moduły",
181
+ "session.changes": "Zmiany ({count})",
182
+ "session.deliverAgain": "Dostarcz ponownie",
183
+ "session.eject": "Dostarcz",
184
+ "session.state.draft": "wersja robocza",
185
+ "session.state.classified": "sklasyfikowano",
186
+ "session.state.planned": "zaplanowano",
187
+ "session.state.editing": "edycja",
188
+ "session.state.validating": "weryfikacja",
189
+ "session.state.previewing": "podgląd",
190
+ "session.state.awaiting-approval": "oczekuje na zatwierdzenie",
191
+ "session.state.accepted": "zaakceptowano",
192
+ "session.state.failed": "niepowodzenie",
193
+ "session.state.blocked": "zablokowano",
194
+ "session.state.deleted": "usunięto",
195
+ "session.state.delivered": "dostarczono",
196
+ "sessions.title": "Sesje",
197
+ "sessions.description": "Uruchom skupioną sesję dla nowego modułu lub zmiany w istniejącym.",
198
+ "sessions.brief.placeholder": "Opisz moduł lub zmianę, którą chcesz wprowadzić…",
199
+ "sessions.driver.label": "Agent programistyczny",
200
+ "sessions.driver.none": "Brak dostępnego agenta programistycznego.",
201
+ "sessions.planning": "Planowanie…",
202
+ "sessions.start": "Uruchom sesję",
203
+ "sessions.empty.title": "Nie ma jeszcze sesji",
204
+ "sessions.empty.description": "Opisz powyżej moduł lub zmianę, aby uruchomić pierwszą sesję.",
205
+ "sessions.archived.one": "1 zarchiwizowana sesja",
206
+ "sessions.archived.other": "{count} zarchiwizowanych sesji",
207
+ "sessions.archived.show": "Pokaż zarchiwizowane",
208
+ "sessions.archived.hide": "Ukryj zarchiwizowane",
209
+ "sessions.kind.new": "Nowy moduł",
210
+ "sessions.kind.change": "Zmiana",
211
+ "sessions.kindAndDriver": "{kind} · {driver}",
212
+ "sessions.working": "Trwa praca…",
213
+ "sessions.deliveredAt": "Dostarczono {when}",
214
+ "sessions.updatedAt": "Zaktualizowano {when}",
215
+ "sessions.time.now": "przed chwilą",
216
+ "sessions.time.minutes": "{count} min temu",
217
+ "sessions.time.hours": "{count} godz. temu",
218
+ "sessions.time.days": "{count} dni temu",
219
+ "sessions.actions": "Działania sesji",
220
+ "sessions.archive": "Archiwizuj",
221
+ "sessions.delete.confirm": "Usunąć tę sesję? {delivery}",
222
+ "sessions.delete.delivered": "Dostarczono ją do: {paths}.",
223
+ "sessions.delete.stopFirst": "Najpierw zatrzymaj działanie",
224
+ "sessions.state.archived": "zarchiwizowano",
225
+ "sessions.state.delivered": "dostarczono",
226
+ "attachments.action": "Dodaj załącznik",
227
+ "attachments.help": "Dołącz obrazy lub pliki",
228
+ "attachments.remove": "Usuń {name}",
229
+ "attachments.uploading": "Przesyłanie…",
230
+ "attachments.uploadFailed": "Nie udało się przesłać załącznika.",
231
+ "attachments.removeFailed": "Nie udało się usunąć załącznika.",
232
+ "attachments.limit": "Możesz dołączyć maksymalnie {count} plików.",
233
+ "attachments.type": "{name} nie jest obsługiwanym typem pliku. Dozwolone: {types}.",
234
+ "attachments.empty": "Plik {name} jest pusty.",
235
+ "attachments.tooLarge": "Plik {name} jest większy niż {size} MB.",
236
+ "attachments.bytes": "{count} B",
237
+ "attachments.kilobytes": "{count} KB",
238
+ "attachments.megabytes": "{count} MB",
239
+ "chat.event.started": "Uruchomiono rolę {role} z agentem {driver}",
240
+ "chat.event.ok": "ukończono",
241
+ "chat.event.failed": "niepowodzenie",
242
+ "chat.event.finished": "Ukończono ({count} tokenów)",
243
+ "chat.restore.confirm": "Przywrócić ten punkt? Bieżące pliki robocze zostaną zastąpione.",
244
+ "chat.restore.restoring": "Przywracanie…",
245
+ "chat.restore.start": "Przywróć początek sesji",
246
+ "chat.restore.here": "Przywróć tutaj",
247
+ "chat.restore.failed": "Nie można przywrócić tego punktu kontrolnego.",
248
+ "chat.approveAndImplement": "Zatwierdź i kontynuuj",
249
+ "chat.continueWith": "Kontynuuj: {role}",
250
+ "chat.you": "Ty",
251
+ "chat.notStarted": "Ta sesja jeszcze się nie rozpoczęła.",
252
+ "chat.pendingBrief": "Opis: {brief}",
253
+ "chat.startWork": "Rozpocznij pracę",
254
+ "chat.selection": "Wybrano: {label}",
255
+ "chat.clearSelection": "Wyczyść wybór",
256
+ "chat.placeholder": "Opisz następny krok…",
257
+ "chat.role": "Rola",
258
+ "chat.targetModule": "Moduł docelowy",
259
+ "chat.auto": "Automatycznie",
260
+ "chat.autoHandoff": "Automatycznie kontynuuj przekazania",
261
+ "chat.stop": "Zatrzymaj",
262
+ "chat.send": "Wyślij",
263
+ "chat.working": "Trwa praca…",
264
+ "chat.delivered": "Dostarczono",
265
+ "diff.empty.title": "Nie ma jeszcze zmian",
266
+ "diff.empty.hint": "Pliki zapisane przez agenta w tej sesji pojawią się tutaj jako diff do przeglądu.",
267
+ "diff.file.one": "1 plik",
268
+ "diff.file.other": "{count} plików",
269
+ "diff.change.created": "Utworzono",
270
+ "diff.change.modified": "Zmieniono",
271
+ "diff.change.deleted": "Usunięto",
272
+ "diff.ask": "Zapytaj o ten plik",
273
+ "diff.binary": "Plik binarny, nie jest wyświetlany.",
274
+ "diff.large": "Ten plik jest zbyt duży, aby wyświetlić go wbudowany.",
275
+ "workspace.notConnected": "Nie połączono",
276
+ "workspace.connection": "Połączenie",
277
+ "workspace.signedIn": "Zalogowano jako {name} · {role}",
278
+ "workspace.noConnection": "Nie połączono z żadną aplikacją.",
279
+ "workspace.connected": "połączono",
280
+ "workspace.offline": "offline",
281
+ "workspace.github.title": "Integracja z GitHub",
282
+ "workspace.github.enabled": "Dostarczanie przez pull request jest włączone.",
283
+ "workspace.github.configure": "Skonfiguruj dostarczanie przez pull request.",
284
+ "workspace.change": "Zmień obszar roboczy lub token",
285
+ "workspace.disconnect": "Odłącz ten sandbox",
286
+ "workspace.language": "Język",
287
+ "workspace.language.en": "English",
288
+ "workspace.language.pl": "Polski",
289
+ "github.title": "Ustawienia przekazywania zmian",
290
+ "github.enabled": "włączona",
291
+ "github.disabled": "wyłączona",
292
+ "github.description": "Ustal, jak wysyłać zmiany do sprawdzenia na GitHubie. Pull request (PR) to propozycja, którą zespół przegląda przed scaleniem.",
293
+ "github.offer": "Pozwól wysyłać propozycje zmian na GitHub",
294
+ "github.overrideProject": "Użyj własnych ustawień dla tego sandboxa",
295
+ "github.remote.label": "Zdalne repozytorium źródłowe",
296
+ "github.remote.help": "Lokalne zdalne repozytorium używane do pobrania gałęzi bazowej.",
297
+ "github.repository.label": "Dokąd wysyłać propozycje zmian?",
298
+ "github.repository.help": "Wpisz organizacja/repozytorium, np. acme/platforma. Puste pole oznacza repozytorium podłączone do projektu.",
299
+ "github.repository.placeholder": "acme/flowdular",
300
+ "github.base.label": "Gałąź bazowa",
301
+ "github.prefix.label": "Prefiks gałęzi sesji",
302
+ "github.mode.label": "Jak przekazywać zmiany?",
303
+ "github.mode.help": "Tryb automatyczny sprawdza dostęp do wysłania gałęzi. Własną kopię wybierz, gdy nie masz takiego dostępu. Żaden tryb nie scala propozycji.",
304
+ "github.mode.auto": "Automatycznie sprawdź dostęp",
305
+ "github.mode.direct": "Wyślij z tego repozytorium",
306
+ "github.mode.fork": "Wyślij z własnej kopii (fork)",
307
+ "github.forkOwner.label": "Właściciel forka",
308
+ "github.forkOwner.help": "Opcjonalne. GitHub ustali zalogowane konto, jeśli pole pozostanie puste.",
309
+ "github.forkOwner.placeholder": "octocat",
310
+ "github.reviewers.label": "Kto ma sprawdzić zmiany?",
311
+ "github.reviewers.help": "Opcjonalne, rozdzielone przecinkami nazwy kont GitHub.",
312
+ "github.token.label": "Klucz dostępu do GitHuba (token)",
313
+ "github.token.stored": "Zapisano lokalnie ({fingerprint}). Pozostaw puste, aby go zachować.",
314
+ "github.token.help": "Pozostaw puste, jeśli GitHub jest już połączony na tym urządzeniu. Nowy klucz będzie szyfrowany w tym sandboxie.",
315
+ "github.token.placeholder": "github_pat_...",
316
+ "github.token.remove": "Usuń zapisany token GitHub",
317
+ "github.save": "Zapisz ustawienia",
318
+ "spec.status.none": "brak stanu",
319
+ "spec.unreadable": "Nie można odczytać specyfikacji.",
320
+ "spec.missing": "Nie znaleziono specyfikacji.",
321
+ "spec.changes.empty": "Brak zmian w specyfikacji",
322
+ "spec.changes.title": "Zmiany w specyfikacji",
323
+ "spec.field.id": "ID",
324
+ "spec.field.version": "wersja",
325
+ "spec.field.status": "stan",
326
+ "spec.field.name": "nazwa",
327
+ "spec.field.description": "opis",
328
+ "spec.field.profile": "profil",
329
+ "spec.field.tenancy": "dzierżawa",
330
+ "spec.field.capability": "możliwość",
331
+ "spec.field.locale": "ustawienia regionalne",
332
+ "spec.field.dependency": "zależność",
333
+ "spec.field.invariant": "niezmiennik",
334
+ "spec.field.dataOwnership": "własność danych",
335
+ "spec.field.permission": "uprawnienie",
336
+ "spec.field.scenario": "scenariusz",
337
+ "spec.facts.capabilities": "Możliwości",
338
+ "spec.facts.tenancy": "Dzierżawa",
339
+ "spec.facts.profile": "Profil",
340
+ "spec.permissions": "Uprawnienia",
341
+ "spec.invariants": "Niezmienniki",
342
+ "spec.dataOwnership": "Własność danych",
343
+ "spec.acceptanceScenarios": "Scenariusze akceptacyjne",
344
+ "spec.given": "Zakładając",
345
+ "spec.when": "Gdy",
346
+ "spec.then": "Wtedy",
347
+ "spec.request.placeholder": "Opisz potrzebne zmiany…",
348
+ "spec.request.send": "Poproś o zmiany",
349
+ "spec.request.action": "Poproś o zmiany",
350
+ "spec.approve": "Zatwierdź",
351
+ "spec.edit": "Edytuj specyfikację",
352
+ "work.preview": "Podgląd",
353
+ "work.code": "Kod ({count})",
354
+ "work.liveData": "dane na żywo",
355
+ "work.fixtures": "dane testowe",
356
+ "work.previewTitle": "Podgląd modułu",
357
+ "work.openFull": "Otwórz podgląd na pełnym ekranie",
358
+ "work.open": "Otwórz na pełnym ekranie",
359
+ "workbench.specification": "Specyfikacja",
360
+ "workbench.module": "Moduł",
361
+ "workbench.liveData": "dane na żywo",
362
+ "workbench.selecting": "Wybieranie…",
363
+ "workbench.selectElement": "Wybierz element",
364
+ "workbench.reload": "Odśwież",
365
+ "workbench.spec.readFailed": "Nie można wczytać specyfikacji.",
366
+ "workbench.spec.saveFailed": "Nie można zapisać specyfikacji.",
367
+ "workbench.spec.saved": "Zapisano specyfikację.",
368
+ "preview.sessionUnavailable": "Sesja podglądu jest niedostępna.",
369
+ "preview.identityFailed": "Nie można utworzyć tożsamości podglądu.",
370
+ "preview.identityName": "Podgląd sandboxa",
371
+ "preview.workspace": "Obszar roboczy podglądu",
372
+ "preview.missingExport": " nie eksportuje createClientContribution.",
373
+ "preview.noClient": "Ten moduł roboczy nie ma wkładu klienta.",
374
+ "preview.loadFailed": "Nie można wczytać podglądu modułu roboczego.",
375
+ "preview.loading": "Wczytywanie podglądu…",
376
+ "preview.empty.title": "Podgląd niedostępny",
377
+ "preview.empty.description": "Moduł roboczy potrzebuje wkładu klienta, aby można go było tu wyświetlić.",
378
+ "preview.draftModule": "Moduł roboczy",
379
+ "eject.moreModules": " oraz {count} kolejnych modułów",
380
+ "eject.lead.git": "Zostanie dostarczonych {count} zmienionych plików do gałęzi {branch}, opartej na {base}, a następnie wysłanych do {target}{others}.",
381
+ "eject.lead.multi": "Zostanie dostarczonych {files} zmienionych plików w {modules} modułach.",
382
+ "eject.detail.filesLand": "{count} plików trafi do {path}",
383
+ "eject.detail.files": "{count} plików",
384
+ "eject.detail.overwritten": "{count} nadpisanych",
385
+ "eject.detail.removed": "{count} usuniętych",
386
+ "eject.detail.packages": "nowe pakiety: {packages}",
387
+ "eject.detail.enable": "włączony na platformie",
388
+ "eject.explanation.git": "Sandbox przygotuje czysty worktree, zweryfikuje go, a następnie wyśle gałąź sesji do przeglądu.",
389
+ "eject.explanation.enable": "Sandbox skopiuje moduły, włączy je, przyzna właścicielom zakresy i sprawdzi typy platformy.",
390
+ "eject.explanation.copy": "Sandbox skopiuje moduły, przyzna właścicielom zakresy i sprawdzi typy platformy.",
391
+ "eject.deliveredVerb.one": "dostarczono",
392
+ "eject.deliveredVerb.other": "dostarczono",
393
+ "eject.delivered": "Dostarczono",
394
+ "eject.title.one": "Dostarcz {module}",
395
+ "eject.title.other": "Dostarcz {count} modułów",
396
+ "eject.target.label": "Cel dostarczenia",
397
+ "eject.target.workspace": "Obszar roboczy",
398
+ "eject.target.gitPr": "Pull request GitHub",
399
+ "eject.target.unavailable": "Cel {target} jest niedostępny: {reason}",
400
+ "eject.unknownReason": "Nie podano powodu.",
401
+ "eject.git.deliveryPath": "Ścieżka dostarczenia",
402
+ "eject.git.fork": "fork {target}{suffix}",
403
+ "eject.git.createdAfterConfirm": " (utworzony po potwierdzeniu)",
404
+ "eject.git.directPush": "bezpośrednie wysłanie do {target}",
405
+ "eject.git.branch": "Gałąź",
406
+ "eject.git.base": "Baza",
407
+ "eject.git.changedFiles": "Zmienione pliki",
408
+ "eject.git.changedFilesDetail": "{changed} z {allowed} dozwolonych",
409
+ "eject.git.newPackages": "Nowe pakiety",
410
+ "eject.git.packagesDetail": "{packages} ({allowed} dozwolonych)",
411
+ "eject.git.owners": "Właściciele obszaru roboczego",
412
+ "eject.git.noOwners": "Nie znaleziono właścicieli",
413
+ "eject.git.reviewers": "Recenzenci",
414
+ "eject.git.pullRequest": "Pull request",
415
+ "eject.git.openedIn": "Otworzono w {repository}",
416
+ "eject.git.configuredRepository": "skonfigurowanym repozytorium",
417
+ "eject.guardrails.blocked": "Dostarczenie jest zablokowane: {reasons}",
418
+ "eject.guardrails.passed": "Kontrole ochronne przeszły pomyślnie.",
419
+ "eject.step.gate": "Uruchom {gate}",
420
+ "eject.step.fetch": "Pobierz {base} i utwórz {branch}",
421
+ "eject.step.copy": "Skopiuj pliki modułu",
422
+ "eject.step.remove": "Usuń {count} usuniętych plików",
423
+ "eject.step.enable": "Włącz {module} na platformie",
424
+ "eject.step.grant": "Przyznaj zakresy właścicielom obszaru roboczego",
425
+ "eject.step.typecheck": "Sprawdź typy platformy",
426
+ "eject.step.guardrails": "Sprawdź kontrolki dostarczenia",
427
+ "eject.step.push": "Wyślij {branch} do {remote}",
428
+ "eject.step.openPr": "Otwórz pull request",
429
+ "eject.step.compare": "Pokaż link porównania",
430
+ "eject.step.restart": "Uruchom ponownie lokalną aplikację",
431
+ "eject.step.deploy": "Wdróż obszar roboczy",
432
+ "eject.packagesWarning": "Zostaną podłączone nowe pakiety: {packages}",
433
+ "eject.previous": "Tę sesję dostarczono {date}{branch}.",
434
+ "eject.previousBranch": " z gałęzi {branch}",
435
+ "eject.openPreviousPr": "Otwórz poprzedni pull request",
436
+ "eject.build": "Zbuduj platformę po dostarczeniu",
437
+ "eject.done.branch": "{subject} do gałęzi {branch}.",
438
+ "eject.done.workspace": "{subject} do {target}.",
439
+ "eject.done.summary": "Dostarczono {files} plików. {removed} {enabled}",
440
+ "eject.done.removed": "Usunięto: {count}.",
441
+ "eject.done.enabled": "Moduł jest włączony.",
442
+ "eject.thisWorkspace": "tego obszaru roboczego",
443
+ "eject.openPr": "Otwórz pull request",
444
+ "eject.openCompare": "Otwórz porównanie",
445
+ "eject.branchPushed": "Wysłano gałąź sesji.",
446
+ "eject.restartNote": "Uruchom ponownie aplikację, aby wczytać nową kompozycję.",
447
+ "eject.deployNote": "Wdróż obszar roboczy, aby zmiana dotarła do połączonej aplikacji.",
448
+ "eject.confirm": "Dostarcz",
449
+ "eject.confirmPr": "Utwórz pull request",
450
+ "eject.confirmBranch": "Wyślij gałąź",
451
+ "eject.running": "Dostarczanie…",
452
+ "github.dashboardAction": "Ustawienia przekazywania",
453
+ "github.safety": "Zapis ustawień nie tworzy gałęzi, kopii repozytorium ani PR. Przekazanie zmian potwierdzisz osobno w sesji.",
454
+ "github.projectHelp": "Obowiązują ustawienia projektu. Włącz własne ustawienia powyżej, aby wybrać inne repozytorium lub osoby sprawdzające.",
455
+ "github.advanced": "Ustawienia zaawansowane",
456
+ "github.base.help": "Gałąź, do której ma trafić propozycja, zwykle main.",
457
+ "github.access": "Połączenie z GitHubem",
458
+ "github.accessHelp": "Zachowaj istniejące połączenie lub podaj nowy klucz poniżej. Nie wklejaj go do rozmowy.",
459
+ "github.saveNote": "Dotyczy tego sandboxa, nie wspólnej konfiguracji projektu.",
460
+ "eject.target.officialModules": "Wyślij do Official Modules",
461
+ "eject.lead.officialModules": "Przygotuj sprawdzony PR do Flowdular/official-modules.",
462
+ "eject.explanation.officialModules": "Sandbox powtórzy wszystkie kontrole, zweryfikuje moduł w repozytorium rejestru i otworzy PR. Maintainerzy zdecydują o publikacji. Tylko nowe moduły; istniejące moduły rejestru nie będą nadpisywane.",
463
+ "delivery.step.provider": "Sprawdzanie dostępu do GitHub",
464
+ "delivery.step.review": "Zapisywanie dowodów review",
465
+ "delivery.step.pack": "Przygotowanie wydania modułu"
466
+ }
@@ -0,0 +1,77 @@
1
+ import { t } from '@flowdular/sdk/client/i18n';
2
+ import type { HandoffPlan } from '../server/sessions.ts';
3
+ import type { EjectStep } from './api.ts';
4
+
5
+ const ROLES = new Set([
6
+ 'planner',
7
+ 'business-manager',
8
+ 'backend-engineer',
9
+ 'frontend-engineer',
10
+ 'ux-designer',
11
+ 'agentic-engineer',
12
+ ]);
13
+ const GATES = new Set([
14
+ 'auto-review',
15
+ 'spec-schema',
16
+ 'module-schema',
17
+ 'dependencies',
18
+ 'typecheck',
19
+ 'tests',
20
+ 'format',
21
+ ]);
22
+ export const DELIVERY_STEPS = [
23
+ 'provider',
24
+ 'review',
25
+ 'pack',
26
+ 'fork',
27
+ 'fetch',
28
+ 'worktree',
29
+ 'branch',
30
+ 'copy',
31
+ 'remove',
32
+ 'install',
33
+ 'enable',
34
+ 'scopes',
35
+ 'verify',
36
+ 'guardrails',
37
+ 'commit',
38
+ 'push',
39
+ 'pr',
40
+ 'cleanup',
41
+ 'build',
42
+ 'restart',
43
+ ] as const;
44
+
45
+ export function roleLabel(id: string, fallback = id): string {
46
+ return ROLES.has(id) ? t('sandbox.dashboard.role.' + id) : fallback;
47
+ }
48
+
49
+ export function gateLabel(id: string): string {
50
+ return GATES.has(id) ? t('sandbox.gates.name.' + id) : id;
51
+ }
52
+
53
+ export function handoffLabel(handoff: HandoffPlan): string {
54
+ return t('sandbox.handoff.' + handoff.kind);
55
+ }
56
+
57
+ export function deliveryStepLabel(step: EjectStep): string {
58
+ if (step.gateId)
59
+ return (
60
+ gateLabel(step.gateId) + (step.module ? ' (' + step.module + ')' : '')
61
+ );
62
+ return DELIVERY_STEPS.some((id) => id === step.id)
63
+ ? t('sandbox.delivery.step.' + step.id)
64
+ : step.label;
65
+ }
66
+
67
+ export function deliveryStepDetail(step: EjectStep): string {
68
+ if (step.gateId && step.status !== 'failed' && step.status !== 'running') {
69
+ return t(
70
+ 'sandbox.gates.status.' +
71
+ (step.status === 'note' ? 'skipped' : step.status),
72
+ );
73
+ }
74
+ return step.files !== undefined
75
+ ? t('sandbox.eject.detail.files', { count: step.files })
76
+ : step.detail;
77
+ }
@@ -0,0 +1,108 @@
1
+ import { cell, createStore } from 'segment-state';
2
+ import type { GateResult } from '../server/gates.ts';
3
+ import type { ChatEntry, SandboxSession } from '../server/sessions.ts';
4
+ import type {
5
+ EjectPlanView,
6
+ EjectStep,
7
+ EjectSummary,
8
+ SandboxState,
9
+ SessionView,
10
+ } from './api.ts';
11
+
12
+ export interface PreviewSelection {
13
+ readonly label: string;
14
+ readonly selector: string;
15
+ readonly view: string;
16
+ readonly text: string;
17
+ }
18
+
19
+ /* An attachment upload the composer is still waiting on, kept beside the
20
+ session's committed attachments so its chip shows a pending or error state. */
21
+ export interface PendingAttachment {
22
+ readonly key: string;
23
+ readonly name: string;
24
+ readonly kind: 'image' | 'file';
25
+ readonly status: 'uploading' | 'error';
26
+ readonly error?: string;
27
+ }
28
+
29
+ export function createSandboxClientState() {
30
+ const store = createStore({
31
+ state: cell<SandboxState | null>(null),
32
+ view: cell<SessionView | null>(null),
33
+ sessions: cell<readonly SandboxSession[]>([]),
34
+ liveEntries: cell<readonly ChatEntry[]>([]),
35
+ selection: cell<PreviewSelection | null>(null),
36
+ ejectPlan: cell<EjectPlanView | null>(null),
37
+ ejectSteps: cell<readonly EjectStep[]>([]),
38
+ ejectSummary: cell<EjectSummary | null>(null),
39
+ ejectError: '',
40
+ ejecting: false,
41
+ ejectBuild: false,
42
+ menuOpen: false,
43
+ githubSettingsOpen: false,
44
+ gateResults: cell<readonly GateResult[]>([]),
45
+ gatesOpen: false,
46
+ gatesRunning: false,
47
+ gatesError: '',
48
+ connecting: false,
49
+ activeSessionId: '',
50
+ role: 'auto',
51
+ /* Which module the panes show; empty means every module of the session. */
52
+ activeModule: '',
53
+ /* Which module the next turn targets; empty means the planner decides. */
54
+ turnModule: '',
55
+ driver: '',
56
+ message: '',
57
+ workbench: cell<'none' | 'preview' | 'diff' | 'spec'>('none'),
58
+ cardMode: cell<'preview' | 'code'>('preview'),
59
+ previewNonce: 0,
60
+ selecting: false,
61
+ running: false,
62
+ busy: false,
63
+ error: '',
64
+ notice: '',
65
+ /* Session list controls: which card's menu is open, which delete waits
66
+ for confirmation, and whether archived sessions are shown. */
67
+ sessionMenu: '',
68
+ confirmDelete: '',
69
+ showArchived: false,
70
+ });
71
+ return { store, state: store.state };
72
+ }
73
+
74
+ export type SandboxClientState = ReturnType<typeof createSandboxClientState>;
75
+
76
+ export function sessionIdFromUrl(pathname: string): string {
77
+ const segments = pathname.split('/').filter(Boolean);
78
+ return segments[0] === 'sessions' ? (segments[1] ?? '') : '';
79
+ }
80
+
81
+ export function mergeSteps(
82
+ steps: readonly EjectStep[],
83
+ step: EjectStep,
84
+ ): readonly EjectStep[] {
85
+ const index = steps.findIndex((candidate) => candidate.id === step.id);
86
+ if (index < 0) return [...steps, step];
87
+ return steps.map((candidate, position) =>
88
+ position === index ? step : candidate,
89
+ );
90
+ }
91
+
92
+ export function mergeEntries(
93
+ existing: readonly ChatEntry[],
94
+ incoming: readonly ChatEntry[],
95
+ ): readonly ChatEntry[] {
96
+ const seen = new Set(existing.map((entry) => entry.sequence));
97
+ return [
98
+ ...existing,
99
+ ...incoming.filter((entry) => !seen.has(entry.sequence)),
100
+ ];
101
+ }
102
+
103
+ /* The splash in index.html waits for this signal, so the first paint is the
104
+ brand block and never a flash of unstyled text. */
105
+ export function signalReady(): void {
106
+ if (typeof window === 'undefined') return;
107
+ window.dispatchEvent(new Event('flowdular:ready'));
108
+ }