expxagents 0.24.2 → 0.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/src/commands/info.d.ts +1 -2
- package/dist/cli/src/commands/login.d.ts +1 -2
- package/dist/cli/src/commands/logout.d.ts +1 -2
- package/dist/cli/src/commands/outdated.d.ts +1 -2
- package/dist/cli/src/commands/publish.d.ts +1 -2
- package/dist/cli/src/commands/registry-install.d.ts +1 -2
- package/dist/cli/src/commands/search.d.ts +1 -2
- package/dist/cli/src/commands/update.d.ts +1 -2
- package/dist/cli/src/commands/whoami.d.ts +1 -2
- package/package.json +1 -1
- package/assets/agents/_catalog.yaml +0 -35
- package/assets/agents/accounting/accountant.agent.md +0 -41
- package/assets/agents/accounting/audit-analyst.agent.md +0 -41
- package/assets/agents/accounting/financial-reporting.agent.md +0 -41
- package/assets/agents/accounting/fiscal-analyst.agent.md +0 -41
- package/assets/agents/accounting/payroll-specialist.agent.md +0 -41
- package/assets/agents/accounting/tax-compliance.agent.md +0 -41
- package/assets/agents/administrative/document-controller.agent.md +0 -41
- package/assets/agents/administrative/office-manager.agent.md +0 -41
- package/assets/agents/administrative/process-documentation-officer.agent.md +0 -41
- package/assets/agents/administrative/procurement-specialist.agent.md +0 -41
- package/assets/agents/board/board-report-writer.agent.md +0 -41
- package/assets/agents/board/business-intelligence.agent.md +0 -41
- package/assets/agents/board/governance-officer.agent.md +0 -41
- package/assets/agents/board/okr-manager.agent.md +0 -41
- package/assets/agents/board/risk-analyst.agent.md +0 -41
- package/assets/agents/board/strategic-advisor.agent.md +0 -41
- package/assets/agents/commercial/account-executive.agent.md +0 -41
- package/assets/agents/commercial/crm-manager.agent.md +0 -41
- package/assets/agents/commercial/pricing-strategist.agent.md +0 -41
- package/assets/agents/commercial/proposal-writer.agent.md +0 -41
- package/assets/agents/commercial/sdr.agent.md +0 -41
- package/assets/agents/compliance/compliance-officer.agent.md +0 -41
- package/assets/agents/compliance/data-privacy-specialist.agent.md +0 -41
- package/assets/agents/compliance/internal-auditor.agent.md +0 -41
- package/assets/agents/compliance/regulatory-monitor.agent.md +0 -41
- package/assets/agents/customer-success/churn-prevention.agent.md +0 -41
- package/assets/agents/customer-success/csm.agent.md +0 -41
- package/assets/agents/customer-success/expansion-manager.agent.md +0 -41
- package/assets/agents/customer-success/nps-analyst.agent.md +0 -41
- package/assets/agents/customer-success/renewal-manager.agent.md +0 -41
- package/assets/agents/development/android-developer.agent.md +0 -41
- package/assets/agents/development/backend-developer.agent.md +0 -42
- package/assets/agents/development/business-analyst.agent.md +0 -41
- package/assets/agents/development/code-reviewer.agent.md +0 -41
- package/assets/agents/development/cross-platform-mobile.agent.md +0 -41
- package/assets/agents/development/dba.agent.md +0 -41
- package/assets/agents/development/desktop-developer.agent.md +0 -41
- package/assets/agents/development/devops-engineer.agent.md +0 -41
- package/assets/agents/development/frontend-developer.agent.md +0 -103
- package/assets/agents/development/ios-developer.agent.md +0 -41
- package/assets/agents/development/product-manager.agent.md +0 -41
- package/assets/agents/development/qa-engineer.agent.md +0 -41
- package/assets/agents/development/scrum-master.agent.md +0 -41
- package/assets/agents/development/security-analyst.agent.md +0 -41
- package/assets/agents/development/tech-lead.agent.md +0 -42
- package/assets/agents/development/tech-writer.agent.md +0 -41
- package/assets/agents/development/ux-design-expert.agent.md +0 -108
- package/assets/agents/development/ux-designer.agent.md +0 -41
- package/assets/agents/finance/accounts-manager.agent.md +0 -41
- package/assets/agents/finance/billing-analyst.agent.md +0 -41
- package/assets/agents/finance/budget-planner.agent.md +0 -41
- package/assets/agents/finance/financial-controller.agent.md +0 -41
- package/assets/agents/hr/benefits-manager.agent.md +0 -41
- package/assets/agents/hr/hr-onboarding.agent.md +0 -41
- package/assets/agents/hr/interview-coordinator.agent.md +0 -41
- package/assets/agents/hr/people-culture.agent.md +0 -41
- package/assets/agents/hr/performance-analyst.agent.md +0 -41
- package/assets/agents/hr/recruiter.agent.md +0 -41
- package/assets/agents/implantation/deployment-manager.agent.md +0 -41
- package/assets/agents/implantation/environment-specialist.agent.md +0 -41
- package/assets/agents/implantation/go-live-coordinator.agent.md +0 -41
- package/assets/agents/implantation/integration-specialist.agent.md +0 -41
- package/assets/agents/implantation/migration-specialist.agent.md +0 -41
- package/assets/agents/legal/contract-manager.agent.md +0 -41
- package/assets/agents/legal/ip-specialist.agent.md +0 -41
- package/assets/agents/legal/labor-attorney.agent.md +0 -41
- package/assets/agents/legal/legal-counsel.agent.md +0 -41
- package/assets/agents/marketing/brand-guardian.agent.md +0 -40
- package/assets/agents/marketing/content-creator.agent.md +0 -41
- package/assets/agents/marketing/email-marketing.agent.md +0 -41
- package/assets/agents/marketing/landing-page-builder.agent.md +0 -138
- package/assets/agents/marketing/marketing-analyst.agent.md +0 -41
- package/assets/agents/marketing/paid-ads-manager.agent.md +0 -41
- package/assets/agents/marketing/seo-specialist.agent.md +0 -41
- package/assets/agents/marketing/social-media-manager.agent.md +0 -41
- package/assets/agents/rnd/benchmark-analyst.agent.md +0 -41
- package/assets/agents/rnd/innovation-scout.agent.md +0 -41
- package/assets/agents/rnd/market-researcher.agent.md +0 -41
- package/assets/agents/rnd/product-analyst.agent.md +0 -41
- package/assets/agents/rnd/prototype-builder.agent.md +0 -41
- package/assets/agents/support/knowledge-base-manager.agent.md +0 -41
- package/assets/agents/support/l1-support.agent.md +0 -41
- package/assets/agents/support/l2-support.agent.md +0 -41
- package/assets/agents/support/l3-support.agent.md +0 -41
- package/assets/agents/support/sla-monitor.agent.md +0 -41
- package/assets/agents/training/assessment-creator.agent.md +0 -41
- package/assets/agents/training/onboarding-coach.agent.md +0 -41
- package/assets/agents/training/training-designer.agent.md +0 -41
- package/assets/agents/training/workshop-facilitator.agent.md +0 -41
- package/assets/core/best-practices/_catalog.yaml +0 -91
- package/assets/core/best-practices/api-documentation.md +0 -137
- package/assets/core/best-practices/blog-post.md +0 -86
- package/assets/core/best-practices/blog-seo.md +0 -91
- package/assets/core/best-practices/code-review.md +0 -97
- package/assets/core/best-practices/copywriting.md +0 -75
- package/assets/core/best-practices/data-analysis.md +0 -93
- package/assets/core/best-practices/deploy-checklist.md +0 -99
- package/assets/core/best-practices/email-newsletter.md +0 -84
- package/assets/core/best-practices/email-sales.md +0 -91
- package/assets/core/best-practices/fullstack-page-generation.md +0 -936
- package/assets/core/best-practices/image-design.md +0 -78
- package/assets/core/best-practices/instagram-feed.md +0 -70
- package/assets/core/best-practices/instagram-reels.md +0 -75
- package/assets/core/best-practices/instagram-stories.md +0 -68
- package/assets/core/best-practices/landing-page-react.md +0 -2263
- package/assets/core/best-practices/landing-page.md +0 -279
- package/assets/core/best-practices/linkedin-article.md +0 -83
- package/assets/core/best-practices/linkedin-post.md +0 -84
- package/assets/core/best-practices/researching.md +0 -89
- package/assets/core/best-practices/review.md +0 -95
- package/assets/core/best-practices/sprint-planning.md +0 -91
- package/assets/core/best-practices/strategist.md +0 -95
- package/assets/core/best-practices/technical-writing.md +0 -104
- package/assets/core/best-practices/twitter-post.md +0 -75
- package/assets/core/best-practices/twitter-thread.md +0 -92
- package/assets/core/best-practices/whatsapp-broadcast.md +0 -95
- package/assets/core/best-practices/youtube-script.md +0 -80
- package/assets/core/best-practices/youtube-shorts.md +0 -76
- package/assets/core/prompts/insight-hunter.prompt.md +0 -62
- package/assets/core/runner.pipeline.md +0 -200
- package/assets/core/skills.engine.md +0 -65
- package/assets/core/solution-architect.agent.md +0 -329
- package/assets/mcps/_catalog.yaml +0 -17
- package/assets/mcps/figma.mcp.yaml +0 -35
- package/assets/mcps/github.mcp.yaml +0 -44
- package/assets/mcps/linear.mcp.yaml +0 -37
- package/assets/mcps/notion.mcp.yaml +0 -37
- package/assets/mcps/pencil.mcp.yaml +0 -32
- package/assets/mcps/postgresql.mcp.yaml +0 -39
- package/assets/mcps/sentry.mcp.yaml +0 -41
- package/assets/mcps/slack.mcp.yaml +0 -37
- package/assets/mcps/vercel.mcp.yaml +0 -39
- package/assets/templates/_expxagents/_memory/company.md +0 -25
- package/assets/templates/_expxagents/_memory/preferences.md +0 -6
- package/assets/templates/squads/_memory/memories.md +0 -16
- package/dist/cli/src/__tests__/cli.test.d.ts +0 -1
- package/dist/cli/src/__tests__/cli.test.js +0 -23
- package/dist/cli/src/commands/__tests__/outdated.test.d.ts +0 -1
- package/dist/cli/src/commands/__tests__/outdated.test.js +0 -76
- package/dist/cli/src/mcp/__tests__/catalog.test.d.ts +0 -1
- package/dist/cli/src/mcp/__tests__/catalog.test.js +0 -101
- package/dist/cli/src/mcp/__tests__/detect.test.d.ts +0 -1
- package/dist/cli/src/mcp/__tests__/detect.test.js +0 -84
- package/dist/cli/src/mcp/__tests__/setup.test.d.ts +0 -1
- package/dist/cli/src/mcp/__tests__/setup.test.js +0 -75
- package/dist/cli/src/mcp/__tests__/validate.test.d.ts +0 -1
- package/dist/cli/src/mcp/__tests__/validate.test.js +0 -42
- package/dist/cli/src/pencil/__tests__/detect.test.d.ts +0 -1
- package/dist/cli/src/pencil/__tests__/detect.test.js +0 -71
- package/dist/cli/src/pencil/__tests__/property-mapper.test.d.ts +0 -1
- package/dist/cli/src/pencil/__tests__/property-mapper.test.js +0 -120
- package/dist/cli/src/pencil/__tests__/template-sync.test.d.ts +0 -1
- package/dist/cli/src/pencil/__tests__/template-sync.test.js +0 -95
- package/dist/cli/src/runners/__tests__/provider-registry.test.d.ts +0 -1
- package/dist/cli/src/runners/__tests__/provider-registry.test.js +0 -31
- package/dist/cli/src/runners/__tests__/provider-runner.test.d.ts +0 -1
- package/dist/cli/src/runners/__tests__/provider-runner.test.js +0 -86
- package/dist/cli/src/utils/__tests__/command-prefix.test.d.ts +0 -1
- package/dist/cli/src/utils/__tests__/command-prefix.test.js +0 -35
- package/dist/cli/src/utils/__tests__/global-install.test.d.ts +0 -1
- package/dist/cli/src/utils/__tests__/global-install.test.js +0 -25
- package/dist/dashboard/assets/BufferResource-RMf3hLtL.js +0 -185
- package/dist/dashboard/assets/CanvasRenderer-By9CeUeH.js +0 -1
- package/dist/dashboard/assets/JarvisView-DCkJVL5f.js +0 -1
- package/dist/dashboard/assets/RenderTargetSystem-Du3lfljq.js +0 -172
- package/dist/dashboard/assets/ThreeBackground-m9EgwJVc.js +0 -1
- package/dist/dashboard/assets/WebGLRenderer-BfDYJhYQ.js +0 -156
- package/dist/dashboard/assets/WebGPURenderer-CYzaDyV_.js +0 -41
- package/dist/dashboard/assets/browserAll-CFQKTPw8.js +0 -14
- package/dist/dashboard/assets/index-DPwnElYV.js +0 -1195
- package/dist/dashboard/assets/index-DtbIzZ5n.css +0 -1
- package/dist/dashboard/assets/three-BZk_I9Ly.js +0 -4057
- package/dist/dashboard/assets/webworkerAll-Cti2tnMb.js +0 -83
- package/dist/dashboard/index.html +0 -13
- package/dist/data/opensquad.db +0 -0
- package/dist/data/opensquad.db-shm +0 -0
- package/dist/data/opensquad.db-wal +0 -0
- package/dist/server/api/__tests__/cost-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/cost-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/cost-routes.test.js +0 -54
- package/dist/server/api/__tests__/cost-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/files-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/files-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/files-routes.test.js +0 -85
- package/dist/server/api/__tests__/files-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/graph-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/graph-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/graph-routes.test.js +0 -105
- package/dist/server/api/__tests__/graph-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/health-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/health-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/health-routes.test.js +0 -22
- package/dist/server/api/__tests__/health-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/integration-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/integration-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/integration-routes.test.js +0 -243
- package/dist/server/api/__tests__/integration-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/kanban-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/kanban-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/kanban-routes.test.js +0 -316
- package/dist/server/api/__tests__/kanban-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/log-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/log-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/log-routes.test.js +0 -35
- package/dist/server/api/__tests__/log-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/orgchart-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/orgchart-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/orgchart-routes.test.js +0 -161
- package/dist/server/api/__tests__/orgchart-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/settings-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/settings-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/settings-routes.test.js +0 -177
- package/dist/server/api/__tests__/settings-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/system-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/system-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/system-routes.test.js +0 -79
- package/dist/server/api/__tests__/system-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/team-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/team-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/team-routes.test.js +0 -116
- package/dist/server/api/__tests__/team-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/webhook-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/webhook-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/webhook-routes.test.js +0 -111
- package/dist/server/api/__tests__/webhook-routes.test.js.map +0 -1
- package/dist/server/api/activity-routes.d.ts +0 -8
- package/dist/server/api/activity-routes.d.ts.map +0 -1
- package/dist/server/api/activity-routes.js +0 -34
- package/dist/server/api/activity-routes.js.map +0 -1
- package/dist/server/api/chat-api-routes.d.ts +0 -4
- package/dist/server/api/chat-api-routes.d.ts.map +0 -1
- package/dist/server/api/chat-api-routes.js +0 -28
- package/dist/server/api/chat-api-routes.js.map +0 -1
- package/dist/server/api/cost-routes.d.ts +0 -8
- package/dist/server/api/cost-routes.d.ts.map +0 -1
- package/dist/server/api/cost-routes.js +0 -39
- package/dist/server/api/cost-routes.js.map +0 -1
- package/dist/server/api/dashboard-routes.d.ts +0 -10
- package/dist/server/api/dashboard-routes.d.ts.map +0 -1
- package/dist/server/api/dashboard-routes.js +0 -128
- package/dist/server/api/dashboard-routes.js.map +0 -1
- package/dist/server/api/files-routes.d.ts +0 -5
- package/dist/server/api/files-routes.d.ts.map +0 -1
- package/dist/server/api/files-routes.js +0 -218
- package/dist/server/api/files-routes.js.map +0 -1
- package/dist/server/api/graph-routes.d.ts +0 -24
- package/dist/server/api/graph-routes.d.ts.map +0 -1
- package/dist/server/api/graph-routes.js +0 -208
- package/dist/server/api/graph-routes.js.map +0 -1
- package/dist/server/api/health-routes.d.ts +0 -9
- package/dist/server/api/health-routes.d.ts.map +0 -1
- package/dist/server/api/health-routes.js +0 -46
- package/dist/server/api/health-routes.js.map +0 -1
- package/dist/server/api/integration-routes.d.ts +0 -23
- package/dist/server/api/integration-routes.d.ts.map +0 -1
- package/dist/server/api/integration-routes.js +0 -326
- package/dist/server/api/integration-routes.js.map +0 -1
- package/dist/server/api/kanban-routes.d.ts +0 -8
- package/dist/server/api/kanban-routes.d.ts.map +0 -1
- package/dist/server/api/kanban-routes.js +0 -128
- package/dist/server/api/kanban-routes.js.map +0 -1
- package/dist/server/api/knowledge-routes.d.ts +0 -8
- package/dist/server/api/knowledge-routes.d.ts.map +0 -1
- package/dist/server/api/knowledge-routes.js +0 -82
- package/dist/server/api/knowledge-routes.js.map +0 -1
- package/dist/server/api/log-routes.d.ts +0 -8
- package/dist/server/api/log-routes.d.ts.map +0 -1
- package/dist/server/api/log-routes.js +0 -31
- package/dist/server/api/log-routes.js.map +0 -1
- package/dist/server/api/orgchart-routes.d.ts +0 -7
- package/dist/server/api/orgchart-routes.d.ts.map +0 -1
- package/dist/server/api/orgchart-routes.js +0 -154
- package/dist/server/api/orgchart-routes.js.map +0 -1
- package/dist/server/api/registry-routes.d.ts +0 -7
- package/dist/server/api/registry-routes.d.ts.map +0 -1
- package/dist/server/api/registry-routes.js +0 -51
- package/dist/server/api/registry-routes.js.map +0 -1
- package/dist/server/api/settings-routes.d.ts +0 -11
- package/dist/server/api/settings-routes.d.ts.map +0 -1
- package/dist/server/api/settings-routes.js +0 -167
- package/dist/server/api/settings-routes.js.map +0 -1
- package/dist/server/api/squads-routes.d.ts +0 -7
- package/dist/server/api/squads-routes.d.ts.map +0 -1
- package/dist/server/api/squads-routes.js +0 -165
- package/dist/server/api/squads-routes.js.map +0 -1
- package/dist/server/api/system-routes.d.ts +0 -9
- package/dist/server/api/system-routes.d.ts.map +0 -1
- package/dist/server/api/system-routes.js +0 -241
- package/dist/server/api/system-routes.js.map +0 -1
- package/dist/server/api/team-routes.d.ts +0 -8
- package/dist/server/api/team-routes.d.ts.map +0 -1
- package/dist/server/api/team-routes.js +0 -55
- package/dist/server/api/team-routes.js.map +0 -1
- package/dist/server/api/users-routes.d.ts +0 -8
- package/dist/server/api/users-routes.d.ts.map +0 -1
- package/dist/server/api/users-routes.js +0 -65
- package/dist/server/api/users-routes.js.map +0 -1
- package/dist/server/api/webhook-routes.d.ts +0 -9
- package/dist/server/api/webhook-routes.d.ts.map +0 -1
- package/dist/server/api/webhook-routes.js +0 -82
- package/dist/server/api/webhook-routes.js.map +0 -1
- package/dist/server/app.d.ts +0 -9
- package/dist/server/app.d.ts.map +0 -1
- package/dist/server/app.js +0 -263
- package/dist/server/app.js.map +0 -1
- package/dist/server/auth/auth-middleware.d.ts +0 -13
- package/dist/server/auth/auth-middleware.d.ts.map +0 -1
- package/dist/server/auth/auth-middleware.js +0 -25
- package/dist/server/auth/auth-middleware.js.map +0 -1
- package/dist/server/auth/auth-routes.d.ts +0 -9
- package/dist/server/auth/auth-routes.d.ts.map +0 -1
- package/dist/server/auth/auth-routes.js +0 -149
- package/dist/server/auth/auth-routes.js.map +0 -1
- package/dist/server/auth/jwt.d.ts +0 -14
- package/dist/server/auth/jwt.d.ts.map +0 -1
- package/dist/server/auth/jwt.js +0 -16
- package/dist/server/auth/jwt.js.map +0 -1
- package/dist/server/auth/password.d.ts +0 -3
- package/dist/server/auth/password.d.ts.map +0 -1
- package/dist/server/auth/password.js +0 -9
- package/dist/server/auth/password.js.map +0 -1
- package/dist/server/bridge/__tests__/chat-handler.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/chat-handler.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/chat-handler.test.js +0 -143
- package/dist/server/bridge/__tests__/chat-handler.test.js.map +0 -1
- package/dist/server/bridge/__tests__/chat-integration.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/chat-integration.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/chat-integration.test.js +0 -129
- package/dist/server/bridge/__tests__/chat-integration.test.js.map +0 -1
- package/dist/server/bridge/__tests__/claude-bridge.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/claude-bridge.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/claude-bridge.test.js +0 -300
- package/dist/server/bridge/__tests__/claude-bridge.test.js.map +0 -1
- package/dist/server/bridge/__tests__/conversation.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/conversation.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/conversation.test.js +0 -168
- package/dist/server/bridge/__tests__/conversation.test.js.map +0 -1
- package/dist/server/bridge/__tests__/registry.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/registry.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/registry.test.js +0 -45
- package/dist/server/bridge/__tests__/registry.test.js.map +0 -1
- package/dist/server/bridge/__tests__/stream-parser.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/stream-parser.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/stream-parser.test.js +0 -66
- package/dist/server/bridge/__tests__/stream-parser.test.js.map +0 -1
- package/dist/server/bridge/chat-handler.d.ts +0 -32
- package/dist/server/bridge/chat-handler.d.ts.map +0 -1
- package/dist/server/bridge/chat-handler.js +0 -356
- package/dist/server/bridge/chat-handler.js.map +0 -1
- package/dist/server/bridge/claude-bridge.d.ts +0 -21
- package/dist/server/bridge/claude-bridge.d.ts.map +0 -1
- package/dist/server/bridge/claude-bridge.js +0 -273
- package/dist/server/bridge/claude-bridge.js.map +0 -1
- package/dist/server/bridge/conversation.d.ts +0 -45
- package/dist/server/bridge/conversation.d.ts.map +0 -1
- package/dist/server/bridge/conversation.js +0 -78
- package/dist/server/bridge/conversation.js.map +0 -1
- package/dist/server/bridge/engine-manager.d.ts +0 -13
- package/dist/server/bridge/engine-manager.d.ts.map +0 -1
- package/dist/server/bridge/engine-manager.js +0 -54
- package/dist/server/bridge/engine-manager.js.map +0 -1
- package/dist/server/bridge/engine.d.ts +0 -37
- package/dist/server/bridge/engine.d.ts.map +0 -1
- package/dist/server/bridge/engine.js +0 -2
- package/dist/server/bridge/engine.js.map +0 -1
- package/dist/server/bridge/factory.d.ts +0 -4
- package/dist/server/bridge/factory.d.ts.map +0 -1
- package/dist/server/bridge/factory.js +0 -18
- package/dist/server/bridge/factory.js.map +0 -1
- package/dist/server/bridge/opencode-bridge.d.ts +0 -27
- package/dist/server/bridge/opencode-bridge.d.ts.map +0 -1
- package/dist/server/bridge/opencode-bridge.js +0 -163
- package/dist/server/bridge/opencode-bridge.js.map +0 -1
- package/dist/server/bridge/registry.d.ts +0 -19
- package/dist/server/bridge/registry.d.ts.map +0 -1
- package/dist/server/bridge/registry.js +0 -29
- package/dist/server/bridge/registry.js.map +0 -1
- package/dist/server/bridge/session-journal.d.ts +0 -25
- package/dist/server/bridge/session-journal.d.ts.map +0 -1
- package/dist/server/bridge/session-journal.js +0 -69
- package/dist/server/bridge/session-journal.js.map +0 -1
- package/dist/server/bridge/stream-parser.d.ts +0 -14
- package/dist/server/bridge/stream-parser.d.ts.map +0 -1
- package/dist/server/bridge/stream-parser.js +0 -26
- package/dist/server/bridge/stream-parser.js.map +0 -1
- package/dist/server/config/engine-config.d.ts +0 -4
- package/dist/server/config/engine-config.d.ts.map +0 -1
- package/dist/server/config/engine-config.js +0 -24
- package/dist/server/config/engine-config.js.map +0 -1
- package/dist/server/config.d.ts +0 -17
- package/dist/server/config.d.ts.map +0 -1
- package/dist/server/config.js +0 -39
- package/dist/server/config.js.map +0 -1
- package/dist/server/db/__tests__/chat-tables.test.d.ts +0 -2
- package/dist/server/db/__tests__/chat-tables.test.d.ts.map +0 -1
- package/dist/server/db/__tests__/chat-tables.test.js +0 -82
- package/dist/server/db/__tests__/chat-tables.test.js.map +0 -1
- package/dist/server/db/__tests__/email-schema.test.d.ts +0 -2
- package/dist/server/db/__tests__/email-schema.test.d.ts.map +0 -1
- package/dist/server/db/__tests__/email-schema.test.js +0 -53
- package/dist/server/db/__tests__/email-schema.test.js.map +0 -1
- package/dist/server/db/__tests__/scheduler-schema.test.d.ts +0 -2
- package/dist/server/db/__tests__/scheduler-schema.test.d.ts.map +0 -1
- package/dist/server/db/__tests__/scheduler-schema.test.js +0 -52
- package/dist/server/db/__tests__/scheduler-schema.test.js.map +0 -1
- package/dist/server/db/connection.d.ts +0 -4
- package/dist/server/db/connection.d.ts.map +0 -1
- package/dist/server/db/connection.js +0 -40
- package/dist/server/db/connection.js.map +0 -1
- package/dist/server/db/migrations.d.ts +0 -4
- package/dist/server/db/migrations.d.ts.map +0 -1
- package/dist/server/db/migrations.js +0 -47
- package/dist/server/db/migrations.js.map +0 -1
- package/dist/server/db/schema.d.ts +0 -2
- package/dist/server/db/schema.d.ts.map +0 -1
- package/dist/server/db/schema.js +0 -276
- package/dist/server/db/schema.js.map +0 -1
- package/dist/server/email/__tests__/campaign-routes.test.d.ts +0 -2
- package/dist/server/email/__tests__/campaign-routes.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/campaign-routes.test.js +0 -216
- package/dist/server/email/__tests__/campaign-routes.test.js.map +0 -1
- package/dist/server/email/__tests__/campaign-service.test.d.ts +0 -2
- package/dist/server/email/__tests__/campaign-service.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/campaign-service.test.js +0 -79
- package/dist/server/email/__tests__/campaign-service.test.js.map +0 -1
- package/dist/server/email/__tests__/email-queue-worker.test.d.ts +0 -2
- package/dist/server/email/__tests__/email-queue-worker.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/email-queue-worker.test.js +0 -93
- package/dist/server/email/__tests__/email-queue-worker.test.js.map +0 -1
- package/dist/server/email/__tests__/email-utils.test.d.ts +0 -2
- package/dist/server/email/__tests__/email-utils.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/email-utils.test.js +0 -36
- package/dist/server/email/__tests__/email-utils.test.js.map +0 -1
- package/dist/server/email/__tests__/lead-routes.test.d.ts +0 -2
- package/dist/server/email/__tests__/lead-routes.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/lead-routes.test.js +0 -180
- package/dist/server/email/__tests__/lead-routes.test.js.map +0 -1
- package/dist/server/email/__tests__/lead-service.test.d.ts +0 -2
- package/dist/server/email/__tests__/lead-service.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/lead-service.test.js +0 -113
- package/dist/server/email/__tests__/lead-service.test.js.map +0 -1
- package/dist/server/email/__tests__/ses-client.test.d.ts +0 -2
- package/dist/server/email/__tests__/ses-client.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/ses-client.test.js +0 -48
- package/dist/server/email/__tests__/ses-client.test.js.map +0 -1
- package/dist/server/email/__tests__/sns-webhook.test.d.ts +0 -2
- package/dist/server/email/__tests__/sns-webhook.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/sns-webhook.test.js +0 -40
- package/dist/server/email/__tests__/sns-webhook.test.js.map +0 -1
- package/dist/server/email/campaign-routes.d.ts +0 -8
- package/dist/server/email/campaign-routes.d.ts.map +0 -1
- package/dist/server/email/campaign-routes.js +0 -65
- package/dist/server/email/campaign-routes.js.map +0 -1
- package/dist/server/email/campaign-service.d.ts +0 -55
- package/dist/server/email/campaign-service.d.ts.map +0 -1
- package/dist/server/email/campaign-service.js +0 -89
- package/dist/server/email/campaign-service.js.map +0 -1
- package/dist/server/email/email-queue-worker.d.ts +0 -27
- package/dist/server/email/email-queue-worker.d.ts.map +0 -1
- package/dist/server/email/email-queue-worker.js +0 -119
- package/dist/server/email/email-queue-worker.js.map +0 -1
- package/dist/server/email/email-utils.d.ts +0 -5
- package/dist/server/email/email-utils.d.ts.map +0 -1
- package/dist/server/email/email-utils.js +0 -24
- package/dist/server/email/email-utils.js.map +0 -1
- package/dist/server/email/lead-routes.d.ts +0 -8
- package/dist/server/email/lead-routes.d.ts.map +0 -1
- package/dist/server/email/lead-routes.js +0 -56
- package/dist/server/email/lead-routes.js.map +0 -1
- package/dist/server/email/lead-service.d.ts +0 -66
- package/dist/server/email/lead-service.d.ts.map +0 -1
- package/dist/server/email/lead-service.js +0 -138
- package/dist/server/email/lead-service.js.map +0 -1
- package/dist/server/email/ses-client.d.ts +0 -27
- package/dist/server/email/ses-client.d.ts.map +0 -1
- package/dist/server/email/ses-client.js +0 -44
- package/dist/server/email/ses-client.js.map +0 -1
- package/dist/server/email/sns-webhook.d.ts +0 -10
- package/dist/server/email/sns-webhook.d.ts.map +0 -1
- package/dist/server/email/sns-webhook.js +0 -73
- package/dist/server/email/sns-webhook.js.map +0 -1
- package/dist/server/index.d.ts +0 -2
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -36
- package/dist/server/index.js.map +0 -1
- package/dist/server/mcp/expxagents-mcp.d.ts +0 -2
- package/dist/server/mcp/expxagents-mcp.d.ts.map +0 -1
- package/dist/server/mcp/expxagents-mcp.js +0 -230
- package/dist/server/mcp/expxagents-mcp.js.map +0 -1
- package/dist/server/routes/__tests__/conversations.test.d.ts +0 -2
- package/dist/server/routes/__tests__/conversations.test.d.ts.map +0 -1
- package/dist/server/routes/__tests__/conversations.test.js +0 -111
- package/dist/server/routes/__tests__/conversations.test.js.map +0 -1
- package/dist/server/routes/conversations.d.ts +0 -8
- package/dist/server/routes/conversations.d.ts.map +0 -1
- package/dist/server/routes/conversations.js +0 -36
- package/dist/server/routes/conversations.js.map +0 -1
- package/dist/server/scheduler/__tests__/job-runner.test.d.ts +0 -2
- package/dist/server/scheduler/__tests__/job-runner.test.d.ts.map +0 -1
- package/dist/server/scheduler/__tests__/job-runner.test.js +0 -488
- package/dist/server/scheduler/__tests__/job-runner.test.js.map +0 -1
- package/dist/server/scheduler/__tests__/scheduler-routes.test.d.ts +0 -2
- package/dist/server/scheduler/__tests__/scheduler-routes.test.d.ts.map +0 -1
- package/dist/server/scheduler/__tests__/scheduler-routes.test.js +0 -167
- package/dist/server/scheduler/__tests__/scheduler-routes.test.js.map +0 -1
- package/dist/server/scheduler/__tests__/scheduler-service.test.d.ts +0 -2
- package/dist/server/scheduler/__tests__/scheduler-service.test.d.ts.map +0 -1
- package/dist/server/scheduler/__tests__/scheduler-service.test.js +0 -207
- package/dist/server/scheduler/__tests__/scheduler-service.test.js.map +0 -1
- package/dist/server/scheduler/job-runner.d.ts +0 -73
- package/dist/server/scheduler/job-runner.d.ts.map +0 -1
- package/dist/server/scheduler/job-runner.js +0 -407
- package/dist/server/scheduler/job-runner.js.map +0 -1
- package/dist/server/scheduler/scheduler-routes.d.ts +0 -10
- package/dist/server/scheduler/scheduler-routes.d.ts.map +0 -1
- package/dist/server/scheduler/scheduler-routes.js +0 -105
- package/dist/server/scheduler/scheduler-routes.js.map +0 -1
- package/dist/server/scheduler/scheduler-service.d.ts +0 -55
- package/dist/server/scheduler/scheduler-service.d.ts.map +0 -1
- package/dist/server/scheduler/scheduler-service.js +0 -271
- package/dist/server/scheduler/scheduler-service.js.map +0 -1
- package/dist/server/services/__tests__/cost-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/cost-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/cost-service.test.js +0 -72
- package/dist/server/services/__tests__/cost-service.test.js.map +0 -1
- package/dist/server/services/__tests__/execution-log-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/execution-log-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/execution-log-service.test.js +0 -40
- package/dist/server/services/__tests__/execution-log-service.test.js.map +0 -1
- package/dist/server/services/__tests__/integration-registry.test.d.ts +0 -2
- package/dist/server/services/__tests__/integration-registry.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/integration-registry.test.js +0 -28
- package/dist/server/services/__tests__/integration-registry.test.js.map +0 -1
- package/dist/server/services/__tests__/log-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/log-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/log-service.test.js +0 -49
- package/dist/server/services/__tests__/log-service.test.js.map +0 -1
- package/dist/server/services/__tests__/pipeline-task-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/pipeline-task-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/pipeline-task-service.test.js +0 -268
- package/dist/server/services/__tests__/pipeline-task-service.test.js.map +0 -1
- package/dist/server/services/__tests__/state-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/state-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/state-service.test.js +0 -136
- package/dist/server/services/__tests__/state-service.test.js.map +0 -1
- package/dist/server/services/activity-service.d.ts +0 -35
- package/dist/server/services/activity-service.d.ts.map +0 -1
- package/dist/server/services/activity-service.js +0 -92
- package/dist/server/services/activity-service.js.map +0 -1
- package/dist/server/services/cost-service.d.ts +0 -55
- package/dist/server/services/cost-service.d.ts.map +0 -1
- package/dist/server/services/cost-service.js +0 -59
- package/dist/server/services/cost-service.js.map +0 -1
- package/dist/server/services/execution-log-service.d.ts +0 -20
- package/dist/server/services/execution-log-service.d.ts.map +0 -1
- package/dist/server/services/execution-log-service.js +0 -17
- package/dist/server/services/execution-log-service.js.map +0 -1
- package/dist/server/services/integration-registry.d.ts +0 -9
- package/dist/server/services/integration-registry.d.ts.map +0 -1
- package/dist/server/services/integration-registry.js +0 -14
- package/dist/server/services/integration-registry.js.map +0 -1
- package/dist/server/services/log-service.d.ts +0 -28
- package/dist/server/services/log-service.d.ts.map +0 -1
- package/dist/server/services/log-service.js +0 -34
- package/dist/server/services/log-service.js.map +0 -1
- package/dist/server/services/pipeline-task-service.d.ts +0 -79
- package/dist/server/services/pipeline-task-service.d.ts.map +0 -1
- package/dist/server/services/pipeline-task-service.js +0 -122
- package/dist/server/services/pipeline-task-service.js.map +0 -1
- package/dist/server/services/squad-registry.d.ts +0 -35
- package/dist/server/services/squad-registry.d.ts.map +0 -1
- package/dist/server/services/squad-registry.js +0 -141
- package/dist/server/services/squad-registry.js.map +0 -1
- package/dist/server/services/state-service.d.ts +0 -22
- package/dist/server/services/state-service.d.ts.map +0 -1
- package/dist/server/services/state-service.js +0 -114
- package/dist/server/services/state-service.js.map +0 -1
- package/dist/server/types/a2ui.d.ts +0 -27
- package/dist/server/types/a2ui.d.ts.map +0 -1
- package/dist/server/types/a2ui.js +0 -2
- package/dist/server/types/a2ui.js.map +0 -1
- package/dist/server/utils/find-free-port.d.ts +0 -2
- package/dist/server/utils/find-free-port.d.ts.map +0 -1
- package/dist/server/utils/find-free-port.js +0 -17
- package/dist/server/utils/find-free-port.js.map +0 -1
- package/dist/server/watcher/__tests__/file-watcher.test.d.ts +0 -2
- package/dist/server/watcher/__tests__/file-watcher.test.d.ts.map +0 -1
- package/dist/server/watcher/__tests__/file-watcher.test.js +0 -81
- package/dist/server/watcher/__tests__/file-watcher.test.js.map +0 -1
- package/dist/server/watcher/file-watcher.d.ts +0 -19
- package/dist/server/watcher/file-watcher.d.ts.map +0 -1
- package/dist/server/watcher/file-watcher.js +0 -105
- package/dist/server/watcher/file-watcher.js.map +0 -1
- package/dist/server/watcher/state-parser.d.ts +0 -77
- package/dist/server/watcher/state-parser.d.ts.map +0 -1
- package/dist/server/watcher/state-parser.js +0 -78
- package/dist/server/watcher/state-parser.js.map +0 -1
- package/dist/server/ws/ws-auth.d.ts +0 -4
- package/dist/server/ws/ws-auth.d.ts.map +0 -1
- package/dist/server/ws/ws-auth.js +0 -42
- package/dist/server/ws/ws-auth.js.map +0 -1
- package/dist/server/ws/ws-handler.d.ts +0 -12
- package/dist/server/ws/ws-handler.d.ts.map +0 -1
- package/dist/server/ws/ws-handler.js +0 -171
- package/dist/server/ws/ws-handler.js.map +0 -1
- package/dist/server/ws/ws-rooms.d.ts +0 -12
- package/dist/server/ws/ws-rooms.d.ts.map +0 -1
- package/dist/server/ws/ws-rooms.js +0 -52
- package/dist/server/ws/ws-rooms.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/config.d.ts +0 -4
- package/node_modules/expxagents-knowledge/dist/config.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/config.js +0 -37
- package/node_modules/expxagents-knowledge/dist/config.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/connection.d.ts +0 -6
- package/node_modules/expxagents-knowledge/dist/db/connection.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/connection.js +0 -69
- package/node_modules/expxagents-knowledge/dist/db/connection.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/migrations.d.ts +0 -3
- package/node_modules/expxagents-knowledge/dist/db/migrations.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/migrations.js +0 -46
- package/node_modules/expxagents-knowledge/dist/db/migrations.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/schema.d.ts +0 -3
- package/node_modules/expxagents-knowledge/dist/db/schema.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/schema.js +0 -79
- package/node_modules/expxagents-knowledge/dist/db/schema.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/index.d.ts +0 -16
- package/node_modules/expxagents-knowledge/dist/index.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/index.js +0 -16
- package/node_modules/expxagents-knowledge/dist/index.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/chunker.d.ts +0 -10
- package/node_modules/expxagents-knowledge/dist/ingest/chunker.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/chunker.js +0 -221
- package/node_modules/expxagents-knowledge/dist/ingest/chunker.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/document-loader.d.ts +0 -4
- package/node_modules/expxagents-knowledge/dist/ingest/document-loader.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/document-loader.js +0 -56
- package/node_modules/expxagents-knowledge/dist/ingest/document-loader.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/embedder.d.ts +0 -4
- package/node_modules/expxagents-knowledge/dist/ingest/embedder.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/embedder.js +0 -25
- package/node_modules/expxagents-knowledge/dist/ingest/embedder.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.d.ts +0 -21
- package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.js +0 -54
- package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.d.ts +0 -16
- package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.js +0 -49
- package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.d.ts +0 -9
- package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.js +0 -116
- package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/pipeline.d.ts +0 -27
- package/node_modules/expxagents-knowledge/dist/ingest/pipeline.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/pipeline.js +0 -92
- package/node_modules/expxagents-knowledge/dist/ingest/pipeline.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/graph-traversal.d.ts +0 -41
- package/node_modules/expxagents-knowledge/dist/query/graph-traversal.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/graph-traversal.js +0 -62
- package/node_modules/expxagents-knowledge/dist/query/graph-traversal.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/knowledge-query.d.ts +0 -31
- package/node_modules/expxagents-knowledge/dist/query/knowledge-query.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/knowledge-query.js +0 -106
- package/node_modules/expxagents-knowledge/dist/query/knowledge-query.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/vector-search.d.ts +0 -26
- package/node_modules/expxagents-knowledge/dist/query/vector-search.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/vector-search.js +0 -57
- package/node_modules/expxagents-knowledge/dist/query/vector-search.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/sources/agent-output.d.ts +0 -10
- package/node_modules/expxagents-knowledge/dist/sources/agent-output.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/sources/agent-output.js +0 -29
- package/node_modules/expxagents-knowledge/dist/sources/agent-output.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/sources/watcher.d.ts +0 -6
- package/node_modules/expxagents-knowledge/dist/sources/watcher.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/sources/watcher.js +0 -42
- package/node_modules/expxagents-knowledge/dist/sources/watcher.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/types.d.ts +0 -138
- package/node_modules/expxagents-knowledge/dist/types.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/types.js +0 -2
- package/node_modules/expxagents-knowledge/dist/types.js.map +0 -1
- package/node_modules/expxagents-knowledge/package.json +0 -7
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { mapNodeToCSS } from '../property-mapper.js';
|
|
3
|
-
describe('pencil/property-mapper', () => {
|
|
4
|
-
it('maps fill to background-color for frame nodes', () => {
|
|
5
|
-
const node = { type: 'frame', fill: '#FF5733' };
|
|
6
|
-
const css = mapNodeToCSS(node);
|
|
7
|
-
expect(css).toContain('background: #FF5733');
|
|
8
|
-
});
|
|
9
|
-
it('maps fill to color for text nodes', () => {
|
|
10
|
-
const node = { type: 'text', fill: '#333333' };
|
|
11
|
-
const css = mapNodeToCSS(node);
|
|
12
|
-
expect(css).toContain('color: #333333');
|
|
13
|
-
});
|
|
14
|
-
it('maps font properties', () => {
|
|
15
|
-
const node = {
|
|
16
|
-
type: 'text',
|
|
17
|
-
fontSize: 24,
|
|
18
|
-
fontWeight: '700',
|
|
19
|
-
fontFamily: 'Inter',
|
|
20
|
-
lineHeight: 1.5,
|
|
21
|
-
letterSpacing: 0.5,
|
|
22
|
-
};
|
|
23
|
-
const css = mapNodeToCSS(node);
|
|
24
|
-
expect(css).toContain('font-size: 24px');
|
|
25
|
-
expect(css).toContain('font-weight: 700');
|
|
26
|
-
expect(css).toContain('font-family: Inter');
|
|
27
|
-
expect(css).toContain('line-height: 1.5');
|
|
28
|
-
expect(css).toContain('letter-spacing: 0.5px');
|
|
29
|
-
});
|
|
30
|
-
it('maps padding array [T,R,B,L]', () => {
|
|
31
|
-
const node = { type: 'frame', padding: [10, 20, 10, 20] };
|
|
32
|
-
const css = mapNodeToCSS(node);
|
|
33
|
-
expect(css).toContain('padding: 10px 20px 10px 20px');
|
|
34
|
-
});
|
|
35
|
-
it('maps padding array [V,H]', () => {
|
|
36
|
-
const node = { type: 'frame', padding: [10, 20] };
|
|
37
|
-
const css = mapNodeToCSS(node);
|
|
38
|
-
expect(css).toContain('padding: 10px 20px');
|
|
39
|
-
});
|
|
40
|
-
it('maps single padding value', () => {
|
|
41
|
-
const node = { type: 'frame', padding: 16 };
|
|
42
|
-
const css = mapNodeToCSS(node);
|
|
43
|
-
expect(css).toContain('padding: 16px');
|
|
44
|
-
});
|
|
45
|
-
it('maps layout vertical to flex-direction column', () => {
|
|
46
|
-
const node = { type: 'frame', layout: 'vertical' };
|
|
47
|
-
const css = mapNodeToCSS(node);
|
|
48
|
-
expect(css).toContain('display: flex');
|
|
49
|
-
expect(css).toContain('flex-direction: column');
|
|
50
|
-
});
|
|
51
|
-
it('maps layout horizontal to flex-direction row', () => {
|
|
52
|
-
const node = { type: 'frame', layout: 'horizontal' };
|
|
53
|
-
const css = mapNodeToCSS(node);
|
|
54
|
-
expect(css).toContain('display: flex');
|
|
55
|
-
expect(css).toContain('flex-direction: row');
|
|
56
|
-
});
|
|
57
|
-
it('maps gap', () => {
|
|
58
|
-
const node = { type: 'frame', gap: 12 };
|
|
59
|
-
const css = mapNodeToCSS(node);
|
|
60
|
-
expect(css).toContain('gap: 12px');
|
|
61
|
-
});
|
|
62
|
-
it('maps width fill_container to width 100%', () => {
|
|
63
|
-
const node = { type: 'frame', width: 'fill_container' };
|
|
64
|
-
const css = mapNodeToCSS(node);
|
|
65
|
-
expect(css).toContain('width: 100%');
|
|
66
|
-
});
|
|
67
|
-
it('maps width fit_content', () => {
|
|
68
|
-
const node = { type: 'frame', width: 'fit_content' };
|
|
69
|
-
const css = mapNodeToCSS(node);
|
|
70
|
-
expect(css).toContain('width: fit-content');
|
|
71
|
-
});
|
|
72
|
-
it('maps numeric width to px', () => {
|
|
73
|
-
const node = { type: 'frame', width: 300 };
|
|
74
|
-
const css = mapNodeToCSS(node);
|
|
75
|
-
expect(css).toContain('width: 300px');
|
|
76
|
-
});
|
|
77
|
-
it('maps cornerRadius to border-radius', () => {
|
|
78
|
-
const node = { type: 'frame', cornerRadius: 8 };
|
|
79
|
-
const css = mapNodeToCSS(node);
|
|
80
|
-
expect(css).toContain('border-radius: 8px');
|
|
81
|
-
});
|
|
82
|
-
it('maps cornerRadius array', () => {
|
|
83
|
-
const node = { type: 'frame', cornerRadius: [8, 8, 0, 0] };
|
|
84
|
-
const css = mapNodeToCSS(node);
|
|
85
|
-
expect(css).toContain('border-radius: 8px 8px 0px 0px');
|
|
86
|
-
});
|
|
87
|
-
it('maps clip true to overflow hidden', () => {
|
|
88
|
-
const node = { type: 'frame', clip: true };
|
|
89
|
-
const css = mapNodeToCSS(node);
|
|
90
|
-
expect(css).toContain('overflow: hidden');
|
|
91
|
-
});
|
|
92
|
-
it('maps opacity', () => {
|
|
93
|
-
const node = { type: 'frame', opacity: 0.5 };
|
|
94
|
-
const css = mapNodeToCSS(node);
|
|
95
|
-
expect(css).toContain('opacity: 0.5');
|
|
96
|
-
});
|
|
97
|
-
it('maps justifyContent and alignItems', () => {
|
|
98
|
-
const node = {
|
|
99
|
-
type: 'frame',
|
|
100
|
-
justifyContent: 'center',
|
|
101
|
-
alignItems: 'flex-start',
|
|
102
|
-
};
|
|
103
|
-
const css = mapNodeToCSS(node);
|
|
104
|
-
expect(css).toContain('justify-content: center');
|
|
105
|
-
expect(css).toContain('align-items: flex-start');
|
|
106
|
-
});
|
|
107
|
-
it('maps stroke to border', () => {
|
|
108
|
-
const node = {
|
|
109
|
-
type: 'frame',
|
|
110
|
-
stroke: { thickness: 2, fill: '#000000' },
|
|
111
|
-
};
|
|
112
|
-
const css = mapNodeToCSS(node);
|
|
113
|
-
expect(css).toContain('border: 2px solid #000000');
|
|
114
|
-
});
|
|
115
|
-
it('returns empty string for empty node', () => {
|
|
116
|
-
const node = { type: 'frame' };
|
|
117
|
-
const css = mapNodeToCSS(node);
|
|
118
|
-
expect(css).toBe('');
|
|
119
|
-
});
|
|
120
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { parseFrameName, generateTemplateMarkdown, computeSyncActions, } from '../template-sync.js';
|
|
3
|
-
describe('pencil/template-sync', () => {
|
|
4
|
-
describe('parseFrameName()', () => {
|
|
5
|
-
it('parses "Template 01 - Hero Banner"', () => {
|
|
6
|
-
const result = parseFrameName('Template 01 - Hero Banner');
|
|
7
|
-
expect(result).toEqual({ number: 1, name: 'Hero Banner', slug: 'hero-banner' });
|
|
8
|
-
});
|
|
9
|
-
it('parses "Template 12 - Call to Action"', () => {
|
|
10
|
-
const result = parseFrameName('Template 12 - Call to Action');
|
|
11
|
-
expect(result).toEqual({ number: 12, name: 'Call to Action', slug: 'call-to-action' });
|
|
12
|
-
});
|
|
13
|
-
it('returns null for non-template frame names', () => {
|
|
14
|
-
expect(parseFrameName('Random Frame')).toBeNull();
|
|
15
|
-
expect(parseFrameName('Background')).toBeNull();
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('generateTemplateMarkdown()', () => {
|
|
19
|
-
it('generates markdown with CSS from node properties', () => {
|
|
20
|
-
const frame = {
|
|
21
|
-
id: 'frame1',
|
|
22
|
-
name: 'Template 01 - Hero Banner',
|
|
23
|
-
width: 1080,
|
|
24
|
-
height: 1350,
|
|
25
|
-
children: [
|
|
26
|
-
{
|
|
27
|
-
id: 'child1',
|
|
28
|
-
name: 'Header',
|
|
29
|
-
type: 'frame',
|
|
30
|
-
fill: '#FFFFFF',
|
|
31
|
-
layout: 'vertical',
|
|
32
|
-
padding: [20, 24, 20, 24],
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
};
|
|
36
|
-
const md = generateTemplateMarkdown(frame);
|
|
37
|
-
expect(md).toContain('# Template 01 — Hero Banner');
|
|
38
|
-
expect(md).toContain('1080x1350');
|
|
39
|
-
expect(md).toContain('background: #FFFFFF');
|
|
40
|
-
expect(md).toContain('flex-direction: column');
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
describe('computeSyncActions()', () => {
|
|
44
|
-
it('detects new templates (frame without .md)', () => {
|
|
45
|
-
const frames = [
|
|
46
|
-
{ id: 'f1', name: 'Template 01 - Hero', width: 1080, height: 1350, children: [] },
|
|
47
|
-
];
|
|
48
|
-
const existingMds = [];
|
|
49
|
-
const actions = computeSyncActions(frames, existingMds);
|
|
50
|
-
expect(actions).toHaveLength(1);
|
|
51
|
-
expect(actions[0].type).toBe('create');
|
|
52
|
-
expect(actions[0].filename).toBe('template-01-hero.md');
|
|
53
|
-
});
|
|
54
|
-
it('detects orphaned templates (.md without frame)', () => {
|
|
55
|
-
const frames = [];
|
|
56
|
-
const existingMds = ['template-01-hero.md'];
|
|
57
|
-
const actions = computeSyncActions(frames, existingMds);
|
|
58
|
-
expect(actions).toHaveLength(1);
|
|
59
|
-
expect(actions[0].type).toBe('orphan');
|
|
60
|
-
expect(actions[0].filename).toBe('template-01-hero.md');
|
|
61
|
-
});
|
|
62
|
-
it('detects existing templates that may need update', () => {
|
|
63
|
-
const frames = [
|
|
64
|
-
{ id: 'f1', name: 'Template 01 - Hero', width: 1080, height: 1350, children: [] },
|
|
65
|
-
];
|
|
66
|
-
const existingMds = ['template-01-hero.md'];
|
|
67
|
-
const actions = computeSyncActions(frames, existingMds);
|
|
68
|
-
expect(actions).toHaveLength(1);
|
|
69
|
-
expect(actions[0].type).toBe('update');
|
|
70
|
-
});
|
|
71
|
-
it('handles mix of new, existing, and orphaned', () => {
|
|
72
|
-
const frames = [
|
|
73
|
-
{ id: 'f1', name: 'Template 01 - Hero', width: 1080, height: 1350, children: [] },
|
|
74
|
-
{ id: 'f2', name: 'Template 03 - Footer', width: 1080, height: 1350, children: [] },
|
|
75
|
-
];
|
|
76
|
-
const existingMds = ['template-01-hero.md', 'template-02-sidebar.md'];
|
|
77
|
-
const actions = computeSyncActions(frames, existingMds);
|
|
78
|
-
const create = actions.filter(a => a.type === 'create');
|
|
79
|
-
const update = actions.filter(a => a.type === 'update');
|
|
80
|
-
const orphan = actions.filter(a => a.type === 'orphan');
|
|
81
|
-
expect(update).toHaveLength(1); // template-01 exists
|
|
82
|
-
expect(create).toHaveLength(1); // template-03 is new
|
|
83
|
-
expect(orphan).toHaveLength(1); // template-02 has no frame
|
|
84
|
-
});
|
|
85
|
-
it('skips non-template frames', () => {
|
|
86
|
-
const frames = [
|
|
87
|
-
{ id: 'f1', name: 'Background', width: 1920, height: 1080, children: [] },
|
|
88
|
-
{ id: 'f2', name: 'Template 01 - Hero', width: 1080, height: 1350, children: [] },
|
|
89
|
-
];
|
|
90
|
-
const actions = computeSyncActions(frames, []);
|
|
91
|
-
expect(actions).toHaveLength(1);
|
|
92
|
-
expect(actions[0].filename).toBe('template-01-hero.md');
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ProviderRegistry } from '../provider-registry.js';
|
|
2
|
-
function createMockProvider(type) {
|
|
3
|
-
return {
|
|
4
|
-
type,
|
|
5
|
-
run: vi.fn().mockResolvedValue({
|
|
6
|
-
output: 'test output',
|
|
7
|
-
inputChars: 100,
|
|
8
|
-
outputChars: 50,
|
|
9
|
-
model: 'test-model',
|
|
10
|
-
}),
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
describe('ProviderRegistry', () => {
|
|
14
|
-
let registry;
|
|
15
|
-
beforeEach(() => {
|
|
16
|
-
registry = new ProviderRegistry();
|
|
17
|
-
});
|
|
18
|
-
it('registers and retrieves a provider', () => {
|
|
19
|
-
const provider = createMockProvider('anthropic');
|
|
20
|
-
registry.register(provider);
|
|
21
|
-
expect(registry.get('anthropic')).toBe(provider);
|
|
22
|
-
});
|
|
23
|
-
it('throws for unknown provider', () => {
|
|
24
|
-
expect(() => registry.get('nonexistent')).toThrow(/Unknown provider/);
|
|
25
|
-
});
|
|
26
|
-
it('lists registered providers', () => {
|
|
27
|
-
registry.register(createMockProvider('anthropic'));
|
|
28
|
-
registry.register(createMockProvider('openai'));
|
|
29
|
-
expect(registry.list()).toEqual(['anthropic', 'openai']);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
vi.mock('@anthropic-ai/sdk', () => ({
|
|
3
|
-
default: vi.fn().mockImplementation(() => ({
|
|
4
|
-
messages: {
|
|
5
|
-
create: vi.fn().mockResolvedValue({
|
|
6
|
-
content: [{ type: 'text', text: 'Anthropic response text' }],
|
|
7
|
-
}),
|
|
8
|
-
},
|
|
9
|
-
})),
|
|
10
|
-
}));
|
|
11
|
-
vi.mock('openai', () => ({
|
|
12
|
-
default: vi.fn().mockImplementation(() => ({
|
|
13
|
-
chat: {
|
|
14
|
-
completions: {
|
|
15
|
-
create: vi.fn().mockResolvedValue({
|
|
16
|
-
choices: [{ message: { content: 'OpenAI response text' } }],
|
|
17
|
-
}),
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
})),
|
|
21
|
-
}));
|
|
22
|
-
import { runWithAnthropic } from '../anthropic-runner.js';
|
|
23
|
-
import { runWithOpenAI } from '../openai-runner.js';
|
|
24
|
-
import { runWithProvider } from '../provider-runner.js';
|
|
25
|
-
describe('runWithAnthropic', () => {
|
|
26
|
-
beforeEach(() => {
|
|
27
|
-
process.env.ANTHROPIC_API_KEY = 'test-key';
|
|
28
|
-
});
|
|
29
|
-
afterEach(() => {
|
|
30
|
-
delete process.env.ANTHROPIC_API_KEY;
|
|
31
|
-
});
|
|
32
|
-
it('returns text from Anthropic response', async () => {
|
|
33
|
-
const result = await runWithAnthropic('Do something', 'claude-haiku-4-5-20251001');
|
|
34
|
-
expect(result).toBe('Anthropic response text');
|
|
35
|
-
});
|
|
36
|
-
it('uses default model when none specified', async () => {
|
|
37
|
-
const result = await runWithAnthropic('Do something');
|
|
38
|
-
expect(typeof result).toBe('string');
|
|
39
|
-
});
|
|
40
|
-
it('throws if ANTHROPIC_API_KEY not set', async () => {
|
|
41
|
-
delete process.env.ANTHROPIC_API_KEY;
|
|
42
|
-
await expect(runWithAnthropic('test')).rejects.toThrow(/ANTHROPIC_API_KEY/);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
describe('runWithOpenAI', () => {
|
|
46
|
-
let originalKey;
|
|
47
|
-
beforeEach(() => {
|
|
48
|
-
originalKey = process.env.OPENAI_API_KEY;
|
|
49
|
-
process.env.OPENAI_API_KEY = 'test-key';
|
|
50
|
-
});
|
|
51
|
-
afterEach(() => {
|
|
52
|
-
if (originalKey === undefined)
|
|
53
|
-
delete process.env.OPENAI_API_KEY;
|
|
54
|
-
else
|
|
55
|
-
process.env.OPENAI_API_KEY = originalKey;
|
|
56
|
-
});
|
|
57
|
-
it('returns text from OpenAI response', async () => {
|
|
58
|
-
const result = await runWithOpenAI('Do something', 'gpt-4o');
|
|
59
|
-
expect(result).toBe('OpenAI response text');
|
|
60
|
-
});
|
|
61
|
-
it('throws if OPENAI_API_KEY not set', async () => {
|
|
62
|
-
delete process.env.OPENAI_API_KEY;
|
|
63
|
-
await expect(runWithOpenAI('test')).rejects.toThrow(/OPENAI_API_KEY/);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
describe('runWithProvider', () => {
|
|
67
|
-
const mockClaudeCode = vi.fn().mockResolvedValue('claude-code result');
|
|
68
|
-
const baseAgent = { id: 'a', name: 'A', icon: 'robot', prompt: '' };
|
|
69
|
-
beforeEach(() => {
|
|
70
|
-
process.env.ANTHROPIC_API_KEY = 'test-key';
|
|
71
|
-
process.env.OPENAI_API_KEY = 'test-key';
|
|
72
|
-
});
|
|
73
|
-
it('calls anthropic runner for provider: anthropic', async () => {
|
|
74
|
-
const result = await runWithProvider('prompt', { ...baseAgent, provider: 'anthropic', model: 'claude-haiku-4-5-20251001' }, '/cwd', mockClaudeCode);
|
|
75
|
-
expect(result).toBe('Anthropic response text');
|
|
76
|
-
});
|
|
77
|
-
it('calls openai runner for provider: openai', async () => {
|
|
78
|
-
const result = await runWithProvider('prompt', { ...baseAgent, provider: 'openai', model: 'gpt-4o' }, '/cwd', mockClaudeCode);
|
|
79
|
-
expect(result).toBe('OpenAI response text');
|
|
80
|
-
});
|
|
81
|
-
it('calls spawnClaudeCode for provider: claude-code (default)', async () => {
|
|
82
|
-
const result = await runWithProvider('prompt', baseAgent, '/cwd', mockClaudeCode);
|
|
83
|
-
expect(mockClaudeCode).toHaveBeenCalledWith('prompt', '/cwd');
|
|
84
|
-
expect(result).toBe('claude-code result');
|
|
85
|
-
});
|
|
86
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, afterEach } from 'vitest';
|
|
2
|
-
import { getCommandPrefix } from '../command-prefix.js';
|
|
3
|
-
describe('getCommandPrefix', () => {
|
|
4
|
-
const originalArgv = process.argv;
|
|
5
|
-
const originalEnv = { ...process.env };
|
|
6
|
-
afterEach(() => {
|
|
7
|
-
process.argv = originalArgv;
|
|
8
|
-
process.env = originalEnv;
|
|
9
|
-
});
|
|
10
|
-
it('returns "npx expxagents" when npm_execpath contains npx', () => {
|
|
11
|
-
process.env.npm_execpath = '/usr/local/lib/node_modules/npm/bin/npx-cli.js';
|
|
12
|
-
process.argv = [process.argv[0], '/usr/local/bin/expxagents'];
|
|
13
|
-
expect(getCommandPrefix()).toBe('npx expxagents');
|
|
14
|
-
});
|
|
15
|
-
it('returns "npx expxagents" when argv[1] contains _npx (fallback)', () => {
|
|
16
|
-
delete process.env.npm_execpath;
|
|
17
|
-
process.argv = [process.argv[0], '/home/user/.npm/_npx/abc123/bin/expxagents.js'];
|
|
18
|
-
expect(getCommandPrefix()).toBe('npx expxagents');
|
|
19
|
-
});
|
|
20
|
-
it('returns "expxagents" for global install on Unix', () => {
|
|
21
|
-
delete process.env.npm_execpath;
|
|
22
|
-
process.argv = [process.argv[0], '/usr/local/bin/expxagents'];
|
|
23
|
-
expect(getCommandPrefix()).toBe('expxagents');
|
|
24
|
-
});
|
|
25
|
-
it('returns "expxagents" for global install on Windows', () => {
|
|
26
|
-
delete process.env.npm_execpath;
|
|
27
|
-
process.argv = [process.argv[0], 'C:\\Users\\X\\AppData\\Roaming\\npm\\expxagents'];
|
|
28
|
-
expect(getCommandPrefix()).toBe('expxagents');
|
|
29
|
-
});
|
|
30
|
-
it('returns "expxagents" when both env and argv are empty', () => {
|
|
31
|
-
delete process.env.npm_execpath;
|
|
32
|
-
process.argv = [process.argv[0], ''];
|
|
33
|
-
expect(getCommandPrefix()).toBe('expxagents');
|
|
34
|
-
});
|
|
35
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, afterEach } from 'vitest';
|
|
2
|
-
import { execSync } from 'child_process';
|
|
3
|
-
import { tryGlobalInstall } from '../global-install.js';
|
|
4
|
-
vi.mock('child_process', () => ({
|
|
5
|
-
execSync: vi.fn(),
|
|
6
|
-
}));
|
|
7
|
-
const mockExecSync = vi.mocked(execSync);
|
|
8
|
-
afterEach(() => {
|
|
9
|
-
vi.restoreAllMocks();
|
|
10
|
-
});
|
|
11
|
-
describe('tryGlobalInstall', () => {
|
|
12
|
-
it('returns true when npm install -g succeeds', () => {
|
|
13
|
-
mockExecSync.mockReturnValue(Buffer.from(''));
|
|
14
|
-
expect(tryGlobalInstall('0.20.1')).toBe(true);
|
|
15
|
-
expect(mockExecSync).toHaveBeenCalledWith('npm install -g expxagents@0.20.1', { stdio: 'pipe', timeout: 60000 });
|
|
16
|
-
});
|
|
17
|
-
it('returns false when npm install -g fails', () => {
|
|
18
|
-
mockExecSync.mockImplementation(() => { throw new Error('EACCES'); });
|
|
19
|
-
expect(tryGlobalInstall('0.20.1')).toBe(false);
|
|
20
|
-
});
|
|
21
|
-
it('never throws', () => {
|
|
22
|
-
mockExecSync.mockImplementation(() => { throw new Error('network error'); });
|
|
23
|
-
expect(() => tryGlobalInstall('1.0.0')).not.toThrow();
|
|
24
|
-
});
|
|
25
|
-
});
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import{w as U,g,S as c,e as S,B as _,f as m,E as I,h as p}from"./index-DPwnElYV.js";const x={name:"local-uniform-bit",vertex:{header:`
|
|
2
|
-
|
|
3
|
-
struct LocalUniforms {
|
|
4
|
-
uTransformMatrix:mat3x3<f32>,
|
|
5
|
-
uColor:vec4<f32>,
|
|
6
|
-
uRound:f32,
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
@group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
|
10
|
-
`,main:`
|
|
11
|
-
vColor *= localUniforms.uColor;
|
|
12
|
-
modelMatrix *= localUniforms.uTransformMatrix;
|
|
13
|
-
`,end:`
|
|
14
|
-
if(localUniforms.uRound == 1)
|
|
15
|
-
{
|
|
16
|
-
vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
|
17
|
-
}
|
|
18
|
-
`}},C={...x,vertex:{...x.vertex,header:x.vertex.header.replace("group(1)","group(2)")}},D={name:"local-uniform-bit",vertex:{header:`
|
|
19
|
-
|
|
20
|
-
uniform mat3 uTransformMatrix;
|
|
21
|
-
uniform vec4 uColor;
|
|
22
|
-
uniform float uRound;
|
|
23
|
-
`,main:`
|
|
24
|
-
vColor *= uColor;
|
|
25
|
-
modelMatrix = uTransformMatrix;
|
|
26
|
-
`,end:`
|
|
27
|
-
if(uRound == 1.)
|
|
28
|
-
{
|
|
29
|
-
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
|
30
|
-
}
|
|
31
|
-
`}},O={name:"texture-bit",vertex:{header:`
|
|
32
|
-
|
|
33
|
-
struct TextureUniforms {
|
|
34
|
-
uTextureMatrix:mat3x3<f32>,
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
@group(2) @binding(2) var<uniform> textureUniforms : TextureUniforms;
|
|
38
|
-
`,main:`
|
|
39
|
-
uv = (textureUniforms.uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
40
|
-
`},fragment:{header:`
|
|
41
|
-
@group(2) @binding(0) var uTexture: texture_2d<f32>;
|
|
42
|
-
@group(2) @binding(1) var uSampler: sampler;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
`,main:`
|
|
46
|
-
outColor = textureSample(uTexture, uSampler, vUV);
|
|
47
|
-
`}},R={name:"texture-bit",vertex:{header:`
|
|
48
|
-
uniform mat3 uTextureMatrix;
|
|
49
|
-
`,main:`
|
|
50
|
-
uv = (uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
51
|
-
`},fragment:{header:`
|
|
52
|
-
uniform sampler2D uTexture;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
`,main:`
|
|
56
|
-
outColor = texture(uTexture, vUV);
|
|
57
|
-
`}};function A(e,t){for(const a in e.attributes){const s=e.attributes[a],r=t[a];r?(s.format??(s.format=r.format),s.offset??(s.offset=r.offset),s.instance??(s.instance=r.instance)):U(`Attribute ${a} is not present in the shader, but is present in the geometry. Unable to infer attribute details.`)}M(e)}function M(e){const{buffers:t,attributes:a}=e,s={},r={};for(const n in t){const o=t[n];s[o.uid]=0,r[o.uid]=0}for(const n in a){const o=a[n];s[o.buffer.uid]+=g(o.format).stride}for(const n in a){const o=a[n];o.stride??(o.stride=s[o.buffer.uid]),o.start??(o.start=r[o.buffer.uid]),r[o.buffer.uid]+=g(o.format).stride}}const l=[];l[c.NONE]=void 0;l[c.DISABLED]={stencilWriteMask:0,stencilReadMask:0};l[c.RENDERING_MASK_ADD]={stencilFront:{compare:"equal",passOp:"increment-clamp"},stencilBack:{compare:"equal",passOp:"increment-clamp"}};l[c.RENDERING_MASK_REMOVE]={stencilFront:{compare:"equal",passOp:"decrement-clamp"},stencilBack:{compare:"equal",passOp:"decrement-clamp"}};l[c.MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"equal",passOp:"keep"},stencilBack:{compare:"equal",passOp:"keep"}};l[c.INVERSE_MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"not-equal",passOp:"keep"},stencilBack:{compare:"not-equal",passOp:"keep"}};class B{constructor(t){this._syncFunctionHash=Object.create(null),this._adaptor=t,this._systemCheck()}_systemCheck(){if(!S())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(t){const a=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(a.layout.size/4),usage:m.UNIFORM|m.COPY_DST}))}getUniformGroupData(t){return this._syncFunctionHash[t._signature]||this._initUniformGroup(t)}_initUniformGroup(t){const a=t._signature;let s=this._syncFunctionHash[a];if(!s){const r=Object.keys(t.uniformStructures).map(d=>t.uniformStructures[d]),n=this._adaptor.createUboElements(r),o=this._generateUboSync(n.uboElements);s=this._syncFunctionHash[a]={layout:n,syncFunction:o}}return this._syncFunctionHash[a]}_generateUboSync(t){return this._adaptor.generateUboSync(t)}syncUniformGroup(t,a,s){const r=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(r.layout.size/4),usage:m.UNIFORM|m.COPY_DST}));let n=null;return a||(a=t.buffer.data,n=t.buffer.dataInt32),s||(s=0),r.syncFunction(t.uniforms,a,n,s),!0}updateUniformGroup(t){if(t.isStatic&&!t._dirtyId)return!1;t._dirtyId=0;const a=this.syncUniformGroup(t);return t.buffer.update(),a}destroy(){this._syncFunctionHash=null}}const h=[{type:"mat3x3<f32>",test:e=>e.value.a!==void 0,ubo:`
|
|
58
|
-
var matrix = uv[name].toArray(true);
|
|
59
|
-
data[offset] = matrix[0];
|
|
60
|
-
data[offset + 1] = matrix[1];
|
|
61
|
-
data[offset + 2] = matrix[2];
|
|
62
|
-
data[offset + 4] = matrix[3];
|
|
63
|
-
data[offset + 5] = matrix[4];
|
|
64
|
-
data[offset + 6] = matrix[5];
|
|
65
|
-
data[offset + 8] = matrix[6];
|
|
66
|
-
data[offset + 9] = matrix[7];
|
|
67
|
-
data[offset + 10] = matrix[8];
|
|
68
|
-
`,uniform:`
|
|
69
|
-
gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true));
|
|
70
|
-
`},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.width!==void 0,ubo:`
|
|
71
|
-
v = uv[name];
|
|
72
|
-
data[offset] = v.x;
|
|
73
|
-
data[offset + 1] = v.y;
|
|
74
|
-
data[offset + 2] = v.width;
|
|
75
|
-
data[offset + 3] = v.height;
|
|
76
|
-
`,uniform:`
|
|
77
|
-
cv = ud[name].value;
|
|
78
|
-
v = uv[name];
|
|
79
|
-
if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) {
|
|
80
|
-
cv[0] = v.x;
|
|
81
|
-
cv[1] = v.y;
|
|
82
|
-
cv[2] = v.width;
|
|
83
|
-
cv[3] = v.height;
|
|
84
|
-
gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height);
|
|
85
|
-
}
|
|
86
|
-
`},{type:"vec2<f32>",test:e=>e.type==="vec2<f32>"&&e.size===1&&e.value.x!==void 0,ubo:`
|
|
87
|
-
v = uv[name];
|
|
88
|
-
data[offset] = v.x;
|
|
89
|
-
data[offset + 1] = v.y;
|
|
90
|
-
`,uniform:`
|
|
91
|
-
cv = ud[name].value;
|
|
92
|
-
v = uv[name];
|
|
93
|
-
if (cv[0] !== v.x || cv[1] !== v.y) {
|
|
94
|
-
cv[0] = v.x;
|
|
95
|
-
cv[1] = v.y;
|
|
96
|
-
gl.uniform2f(ud[name].location, v.x, v.y);
|
|
97
|
-
}
|
|
98
|
-
`},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
|
|
99
|
-
v = uv[name];
|
|
100
|
-
data[offset] = v.red;
|
|
101
|
-
data[offset + 1] = v.green;
|
|
102
|
-
data[offset + 2] = v.blue;
|
|
103
|
-
data[offset + 3] = v.alpha;
|
|
104
|
-
`,uniform:`
|
|
105
|
-
cv = ud[name].value;
|
|
106
|
-
v = uv[name];
|
|
107
|
-
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) {
|
|
108
|
-
cv[0] = v.red;
|
|
109
|
-
cv[1] = v.green;
|
|
110
|
-
cv[2] = v.blue;
|
|
111
|
-
cv[3] = v.alpha;
|
|
112
|
-
gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha);
|
|
113
|
-
}
|
|
114
|
-
`},{type:"vec3<f32>",test:e=>e.type==="vec3<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
|
|
115
|
-
v = uv[name];
|
|
116
|
-
data[offset] = v.red;
|
|
117
|
-
data[offset + 1] = v.green;
|
|
118
|
-
data[offset + 2] = v.blue;
|
|
119
|
-
`,uniform:`
|
|
120
|
-
cv = ud[name].value;
|
|
121
|
-
v = uv[name];
|
|
122
|
-
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue) {
|
|
123
|
-
cv[0] = v.red;
|
|
124
|
-
cv[1] = v.green;
|
|
125
|
-
cv[2] = v.blue;
|
|
126
|
-
gl.uniform3f(ud[name].location, v.red, v.green, v.blue);
|
|
127
|
-
}
|
|
128
|
-
`}];function k(e,t,a,s){const r=[`
|
|
129
|
-
var v = null;
|
|
130
|
-
var v2 = null;
|
|
131
|
-
var t = 0;
|
|
132
|
-
var index = 0;
|
|
133
|
-
var name = null;
|
|
134
|
-
var arrayOffset = null;
|
|
135
|
-
`];let n=0;for(let d=0;d<e.length;d++){const f=e[d],b=f.data.name;let y=!1,i=0;for(let u=0;u<h.length;u++)if(h[u].test(f.data)){i=f.offset/4,r.push(`name = "${b}";`,`offset += ${i-n};`,h[u][t]||h[u].ubo),y=!0;break}if(!y)if(f.data.size>1)i=f.offset/4,r.push(a(f,i-n));else{const u=s[f.data.type];i=f.offset/4,r.push(`
|
|
136
|
-
v = uv.${b};
|
|
137
|
-
offset += ${i-n};
|
|
138
|
-
${u};
|
|
139
|
-
`)}n=i}const o=r.join(`
|
|
140
|
-
`);return new Function("uv","data","dataInt32","offset",o)}function v(e,t){return`
|
|
141
|
-
for (let i = 0; i < ${e*t}; i++) {
|
|
142
|
-
data[offset + (((i / ${e})|0) * 4) + (i % ${e})] = v[i];
|
|
143
|
-
}
|
|
144
|
-
`}const F={f32:`
|
|
145
|
-
data[offset] = v;`,i32:`
|
|
146
|
-
dataInt32[offset] = v;`,"vec2<f32>":`
|
|
147
|
-
data[offset] = v[0];
|
|
148
|
-
data[offset + 1] = v[1];`,"vec3<f32>":`
|
|
149
|
-
data[offset] = v[0];
|
|
150
|
-
data[offset + 1] = v[1];
|
|
151
|
-
data[offset + 2] = v[2];`,"vec4<f32>":`
|
|
152
|
-
data[offset] = v[0];
|
|
153
|
-
data[offset + 1] = v[1];
|
|
154
|
-
data[offset + 2] = v[2];
|
|
155
|
-
data[offset + 3] = v[3];`,"vec2<i32>":`
|
|
156
|
-
dataInt32[offset] = v[0];
|
|
157
|
-
dataInt32[offset + 1] = v[1];`,"vec3<i32>":`
|
|
158
|
-
dataInt32[offset] = v[0];
|
|
159
|
-
dataInt32[offset + 1] = v[1];
|
|
160
|
-
dataInt32[offset + 2] = v[2];`,"vec4<i32>":`
|
|
161
|
-
dataInt32[offset] = v[0];
|
|
162
|
-
dataInt32[offset + 1] = v[1];
|
|
163
|
-
dataInt32[offset + 2] = v[2];
|
|
164
|
-
dataInt32[offset + 3] = v[3];`,"mat2x2<f32>":`
|
|
165
|
-
data[offset] = v[0];
|
|
166
|
-
data[offset + 1] = v[1];
|
|
167
|
-
data[offset + 4] = v[2];
|
|
168
|
-
data[offset + 5] = v[3];`,"mat3x3<f32>":`
|
|
169
|
-
data[offset] = v[0];
|
|
170
|
-
data[offset + 1] = v[1];
|
|
171
|
-
data[offset + 2] = v[2];
|
|
172
|
-
data[offset + 4] = v[3];
|
|
173
|
-
data[offset + 5] = v[4];
|
|
174
|
-
data[offset + 6] = v[5];
|
|
175
|
-
data[offset + 8] = v[6];
|
|
176
|
-
data[offset + 9] = v[7];
|
|
177
|
-
data[offset + 10] = v[8];`,"mat4x4<f32>":`
|
|
178
|
-
for (let i = 0; i < 16; i++) {
|
|
179
|
-
data[offset + i] = v[i];
|
|
180
|
-
}`,"mat3x2<f32>":v(3,2),"mat4x2<f32>":v(4,2),"mat2x3<f32>":v(2,3),"mat4x3<f32>":v(4,3),"mat2x4<f32>":v(2,4),"mat3x4<f32>":v(3,4)},w={...F,"mat2x2<f32>":`
|
|
181
|
-
data[offset] = v[0];
|
|
182
|
-
data[offset + 1] = v[1];
|
|
183
|
-
data[offset + 2] = v[2];
|
|
184
|
-
data[offset + 3] = v[3];
|
|
185
|
-
`};class P extends I{constructor({buffer:t,offset:a,size:s}){super(),this.uid=p("buffer"),this._resourceType="bufferResource",this._touched=0,this._resourceId=p("resource"),this._bufferResource=!0,this.destroyed=!1,this.buffer=t,this.offset=a|0,this.size=s,this.buffer.on("change",this.onBufferChange,this)}onBufferChange(){this._resourceId=p("resource"),this.emit("change",this)}destroy(t=!1){this.destroyed=!0,t&&this.buffer.destroy(),this.emit("change",this),this.buffer=null,this.removeAllListeners()}}export{P as B,l as G,B as U,x as a,F as b,k as c,h as d,A as e,D as f,R as g,C as l,O as t,w as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{D as E,C as ee,i as D,k as Re,m as ce,M as F,l as R,G as Xe,w as $e,T as He,n as ze,o as Je,p as Ke,F as Qe,q as Ze,t as et,A as tt,R as nt,v as he}from"./index-DPwnElYV.js";import{R as at,S as st,B as ot,a as rt,b as it,c as ct,A as lt,C as ht}from"./RenderTargetSystem-Du3lfljq.js";let Z;function Ae(o){const e=E.get().createCanvas(6,1),t=e.getContext("2d");return t.fillStyle=o,t.fillRect(0,0,6,1),e}function Be(){if(Z!==void 0)return Z;try{const o=Ae("#ff00ff"),e=Ae("#ffff00"),a=E.get().createCanvas(6,1).getContext("2d");a.globalCompositeOperation="multiply",a.drawImage(o,0,0),a.drawImage(e,2,0);const n=a.getImageData(2,0,1,1);if(!n)Z=!1;else{const s=n.data;Z=s[0]===255&&s[1]===0&&s[2]===0}}catch{Z=!1}return Z}const d={canvas:null,convertTintToImage:!1,cacheStepsPerColorChannel:8,canUseMultiply:Be(),tintMethod:null,_canvasSourceCache:new WeakMap,_unpremultipliedCache:new WeakMap,getCanvasSource:o=>{const e=o.source,t=e==null?void 0:e.resource;if(!t)return null;const a=e.alphaMode==="premultiplied-alpha",n=e.resourceWidth??e.pixelWidth,s=e.resourceHeight??e.pixelHeight,r=n!==e.pixelWidth||s!==e.pixelHeight;if(a){if((t instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)&&!r)return t;const i=d._unpremultipliedCache.get(e);if((i==null?void 0:i.resourceId)===e._resourceId)return i.canvas}if(t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||t instanceof Uint16Array||t instanceof Int16Array||t instanceof Uint32Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof ArrayBuffer){const i=d._canvasSourceCache.get(e);if((i==null?void 0:i.resourceId)===e._resourceId)return i.canvas;const c=E.get().createCanvas(e.pixelWidth,e.pixelHeight),h=c.getContext("2d"),l=h.createImageData(e.pixelWidth,e.pixelHeight),f=l.data,x=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(e.format==="bgra8unorm")for(let p=0;p<f.length&&p+3<x.length;p+=4)f[p]=x[p+2],f[p+1]=x[p+1],f[p+2]=x[p],f[p+3]=x[p+3];else f.set(x.subarray(0,f.length));return h.putImageData(l,0,0),d._canvasSourceCache.set(e,{canvas:c,resourceId:e._resourceId}),c}if(a){const i=E.get().createCanvas(e.pixelWidth,e.pixelHeight),c=i.getContext("2d",{willReadFrequently:!0});i.width=e.pixelWidth,i.height=e.pixelHeight,c.drawImage(t,0,0);const h=c.getImageData(0,0,i.width,i.height),l=h.data;for(let f=0;f<l.length;f+=4){const x=l[f+3];if(x>0){const p=255/x;l[f]=Math.min(255,l[f]*p+.5),l[f+1]=Math.min(255,l[f+1]*p+.5),l[f+2]=Math.min(255,l[f+2]*p+.5)}}return c.putImageData(h,0,0),d._unpremultipliedCache.set(e,{canvas:i,resourceId:e._resourceId}),i}if(r){const i=d._canvasSourceCache.get(e);if((i==null?void 0:i.resourceId)===e._resourceId)return i.canvas;const c=E.get().createCanvas(e.pixelWidth,e.pixelHeight),h=c.getContext("2d");return c.width=e.pixelWidth,c.height=e.pixelHeight,h.drawImage(t,0,0),d._canvasSourceCache.set(e,{canvas:c,resourceId:e._resourceId}),c}return t},getTintedCanvas:(o,e)=>{const t=o.texture,a=ee.shared.setValue(e).toHex(),n=t.tintCache||(t.tintCache={}),s=n[a],r=t.source._resourceId;if((s==null?void 0:s.tintId)===r)return s;const i=s&&"getContext"in s?s:E.get().createCanvas();return d.tintMethod(t,e,i),i.tintId=r,n[a]=i,n[a]},getTintedPattern:(o,e)=>{const t=ee.shared.setValue(e).toHex(),a=o.patternCache||(o.patternCache={}),n=o.source._resourceId;let s=a[t];return(s==null?void 0:s.tintId)===n||(d.canvas||(d.canvas=E.get().createCanvas()),d.tintMethod(o,e,d.canvas),s=d.canvas.getContext("2d").createPattern(d.canvas,"repeat"),s.tintId=n,a[t]=s),s},applyPatternTransform:(o,e,t=!0)=>{if(!e)return;const a=o;if(!a.setTransform)return;const n=globalThis.DOMMatrix;if(!n)return;const s=new n([e.a,e.b,e.c,e.d,e.tx,e.ty]);a.setTransform(t?s.inverse():s)},tintWithMultiply:(o,e,t)=>{const a=t.getContext("2d"),n=o.frame.clone(),s=o.source._resolution??o.source.resolution??1,r=o.rotate;n.x*=s,n.y*=s,n.width*=s,n.height*=s;const i=D.isVertical(r),c=i?n.height:n.width,h=i?n.width:n.height;t.width=Math.ceil(c),t.height=Math.ceil(h),a.save(),a.fillStyle=ee.shared.setValue(e).toHex(),a.fillRect(0,0,c,h),a.globalCompositeOperation="multiply";const l=d.getCanvasSource(o);if(!l){a.restore();return}r&&d._applyInverseRotation(a,r,n.width,n.height),a.drawImage(l,n.x,n.y,n.width,n.height,0,0,n.width,n.height),a.globalCompositeOperation="destination-atop",a.drawImage(l,n.x,n.y,n.width,n.height,0,0,n.width,n.height),a.restore()},tintWithOverlay:(o,e,t)=>{const a=t.getContext("2d"),n=o.frame.clone(),s=o.source._resolution??o.source.resolution??1,r=o.rotate;n.x*=s,n.y*=s,n.width*=s,n.height*=s;const i=D.isVertical(r),c=i?n.height:n.width,h=i?n.width:n.height;t.width=Math.ceil(c),t.height=Math.ceil(h),a.save(),a.globalCompositeOperation="copy",a.fillStyle=ee.shared.setValue(e).toHex(),a.fillRect(0,0,c,h),a.globalCompositeOperation="destination-atop";const l=d.getCanvasSource(o);if(!l){a.restore();return}r&&d._applyInverseRotation(a,r,n.width,n.height),a.drawImage(l,n.x,n.y,n.width,n.height,0,0,n.width,n.height),a.restore()},tintWithPerPixel:(o,e,t)=>{const a=t.getContext("2d"),n=o.frame.clone(),s=o.source._resolution??o.source.resolution??1,r=o.rotate;n.x*=s,n.y*=s,n.width*=s,n.height*=s;const i=D.isVertical(r),c=i?n.height:n.width,h=i?n.width:n.height;t.width=Math.ceil(c),t.height=Math.ceil(h),a.save(),a.globalCompositeOperation="copy";const l=d.getCanvasSource(o);if(!l){a.restore();return}r&&d._applyInverseRotation(a,r,n.width,n.height),a.drawImage(l,n.x,n.y,n.width,n.height,0,0,n.width,n.height),a.restore();const f=e>>16&255,x=e>>8&255,p=e&255,y=a.getImageData(0,0,c,h),T=y.data;for(let v=0;v<T.length;v+=4)T[v]=T[v]*f/255,T[v+1]=T[v+1]*x/255,T[v+2]=T[v+2]*p/255;a.putImageData(y,0,0)},_applyInverseRotation:(o,e,t,a)=>{const n=D.inv(e),s=D.uX(n),r=D.uY(n),i=D.vX(n),c=D.vY(n),h=-Math.min(0,s*t,i*a,s*t+i*a),l=-Math.min(0,r*t,c*a,r*t+c*a);o.transform(s,r,i,c,h,l)}};d.tintMethod=d.canUseMultiply?d.tintWithMultiply:d.tintWithPerPixel;const xe=class z{static _getPatternRepeat(e,t){const a=e&&e!=="clamp-to-edge",n=t&&t!=="clamp-to-edge";return a&&n?"repeat":a?"repeat-x":n?"repeat-y":"no-repeat"}start(e,t,a){}execute(e,t){var i,c,h,l;const a=t.elements;if(!a||!a.length)return;const n=e.renderer,s=n.canvasContext,r=s.activeContext;for(let f=0;f<a.length;f++){const x=a[f];if(!x.packAsQuad)continue;const p=x,y=p.texture,T=y?d.getCanvasSource(y):null;if(!T)continue;const v=y.source.style,H=s.smoothProperty,V=v.scaleMode!=="nearest";r[H]!==V&&(r[H]=V),s.setBlendMode(t.blendMode);const G=((i=n.globalUniforms.globalUniformData)==null?void 0:i.worldColor)??4294967295,b=p.color,P=(G>>>24&255)/255,X=(b>>>24&255)/255,se=((c=n.filter)==null?void 0:c.alphaMultiplier)??1,te=P*X*se;if(te<=0)continue;r.globalAlpha=te;const ne=G&16777215,J=b&16777215,w=Re(ce(J,ne)),S=y.frame,I=v.addressModeU??v.addressMode,de=v.addressModeV??v.addressMode,ae=z._getPatternRepeat(I,de),q=y.source._resolution??y.source.resolution??1,$=(l=(h=p.renderable)==null?void 0:h.renderGroup)==null?void 0:l.isCachedAsTexture,m=S.x*q,C=S.y*q,_=S.width*q,L=S.height*q,A=p.bounds,k=n.renderTarget.renderTarget.isRoot,U=A.minX,O=A.minY,B=A.maxX-A.minX,W=A.maxY-A.minY,N=y.rotate,u=y.uvs,Y=Math.min(u.x0,u.x1,u.x2,u.x3,u.y0,u.y1,u.y2,u.y3),j=Math.max(u.x0,u.x1,u.x2,u.x3,u.y0,u.y1,u.y2,u.y3),M=ae!=="no-repeat"&&(Y<0||j>1),pe=N&&!(!M&&(w!==16777215||N));pe?(z._tempPatternMatrix.copyFrom(p.transform),D.matrixAppendRotationInv(z._tempPatternMatrix,N,U,O,B,W),s.setContextTransform(z._tempPatternMatrix,p.roundPixels===1,void 0,$&&k)):s.setContextTransform(p.transform,p.roundPixels===1,void 0,$&&k);const oe=pe?0:U,re=pe?0:O,ue=B,fe=W;if(M){let ge=T;const K=w!==16777215&&!N,Q=S.width<=y.source.width&&S.height<=y.source.height;K&&Q&&(ge=d.getTintedCanvas({texture:y},w));const me=r.createPattern(ge,ae);if(!me)continue;const _e=ue,Pe=fe;if(_e===0||Pe===0)continue;const Me=1/_e,be=1/Pe,we=(u.x1-u.x0)*Me,ke=(u.y1-u.y0)*Me,Se=(u.x3-u.x0)*be,Ie=(u.y3-u.y0)*be,Ye=u.x0-we*oe-Se*re,je=u.y0-ke*oe-Ie*re,ve=y.source.pixelWidth,ye=y.source.pixelHeight;z._tempPatternMatrix.set(we*ve,ke*ye,Se*ve,Ie*ye,Ye*ve,je*ye),d.applyPatternTransform(me,z._tempPatternMatrix),r.fillStyle=me,r.fillRect(oe,re,ue,fe)}else{const K=w!==16777215||N?d.getTintedCanvas({texture:y},w):T,Q=K!==T;r.drawImage(K,Q?0:m,Q?0:C,Q?K.width:_,Q?K.height:L,oe,re,ue,fe)}}}};xe._tempPatternMatrix=new F;xe.extension={type:[R.CanvasPipesAdaptor],name:"batch"};let dt=xe;class We{constructor(e){this._colorStack=[],this._colorStackIndex=0,this._currentColor=0,this._renderer=e}buildStart(){this._colorStack[0]=15,this._colorStackIndex=1,this._currentColor=15}push(e,t,a){this._renderer.renderPipes.batch.break(a);const n=this._colorStack;n[this._colorStackIndex]=n[this._colorStackIndex-1]&e.mask;const s=this._colorStack[this._colorStackIndex];s!==this._currentColor&&(this._currentColor=s,a.add({renderPipeId:"colorMask",colorMask:s,canBundle:!1})),this._colorStackIndex++}pop(e,t,a){this._renderer.renderPipes.batch.break(a);const n=this._colorStack;this._colorStackIndex--;const s=n[this._colorStackIndex-1];s!==this._currentColor&&(this._currentColor=s,a.add({renderPipeId:"colorMask",colorMask:s,canBundle:!1}))}execute(e){}destroy(){this._renderer=null,this._colorStack=null}}We.extension={type:[R.CanvasPipes],name:"colorMask"};function pt(o,e,t,a,n,s){s=Math.max(0,Math.min(s,Math.min(a,n)/2)),o.moveTo(e+s,t),o.lineTo(e+a-s,t),o.quadraticCurveTo(e+a,t,e+a,t+s),o.lineTo(e+a,t+n-s),o.quadraticCurveTo(e+a,t+n,e+a-s,t+n),o.lineTo(e+s,t+n),o.quadraticCurveTo(e,t+n,e,t+n-s),o.lineTo(e,t+s),o.quadraticCurveTo(e,t,e+s,t)}function De(o,e){switch(e.type){case"rectangle":{const t=e;o.rect(t.x,t.y,t.width,t.height);break}case"roundedRectangle":{const t=e;pt(o,t.x,t.y,t.width,t.height,t.radius);break}case"circle":{const t=e;o.moveTo(t.x+t.radius,t.y),o.arc(t.x,t.y,t.radius,0,Math.PI*2);break}case"ellipse":{const t=e;o.ellipse?(o.moveTo(t.x+t.halfWidth,t.y),o.ellipse(t.x,t.y,t.halfWidth,t.halfHeight,0,0,Math.PI*2)):(o.save(),o.translate(t.x,t.y),o.scale(t.halfWidth,t.halfHeight),o.moveTo(1,0),o.arc(0,0,1,0,Math.PI*2),o.restore());break}case"triangle":{const t=e;o.moveTo(t.x,t.y),o.lineTo(t.x2,t.y2),o.lineTo(t.x3,t.y3),o.closePath();break}case"polygon":default:{const t=e,a=t.points;if(!(a!=null&&a.length))break;o.moveTo(a[0],a[1]);for(let n=2;n<a.length;n+=2)o.lineTo(a[n],a[n+1]);t.closePath&&o.closePath();break}}}function ut(o,e){if(!(e!=null&&e.length))return!1;for(let t=0;t<e.length;t++){const a=e[t];if(!(a!=null&&a.shape))continue;const n=a.transform,s=n&&!n.isIdentity();s&&(o.save(),o.transform(n.a,n.b,n.c,n.d,n.tx,n.ty)),De(o,a.shape),s&&o.restore()}return!0}class Ge{constructor(e){this._warnedMaskTypes=new Set,this._canvasMaskStack=[],this._renderer=e}push(e,t,a){this._renderer.renderPipes.batch.break(a),a.add({renderPipeId:"stencilMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:!1})}pop(e,t,a){this._renderer.renderPipes.batch.break(a),a.add({renderPipeId:"stencilMask",action:"popMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:!1})}execute(e){var l,f,x;if(e.action!=="pushMaskBegin"&&e.action!=="popMaskEnd")return;const t=this._renderer,a=t.canvasContext,n=a==null?void 0:a.activeContext;if(!n)return;if(e.action==="popMaskEnd"){this._canvasMaskStack.pop()&&n.restore();return}e.inverse&&this._warnOnce("inverse","CanvasRenderer: inverse masks are not supported on Canvas2D; ignoring inverse flag.");const s=e.mask.mask;if(!(s instanceof Xe)){this._warnOnce("nonGraphics","CanvasRenderer: only Graphics masks are supported in Canvas2D; skipping mask."),this._canvasMaskStack.push(!1);return}const r=s,i=(l=r.context)==null?void 0:l.instructions;if(!(i!=null&&i.length)){this._canvasMaskStack.push(!1);return}n.save(),a.setContextTransform(r.groupTransform,(t._roundPixels|r._roundPixels)===1),n.beginPath();let c=!1,h=!1;for(let p=0;p<i.length;p++){const y=i[p],T=y.action;if(T!=="fill"&&T!=="stroke")continue;const v=y.data,H=(f=v==null?void 0:v.path)==null?void 0:f.shapePath;if(!((x=H==null?void 0:H.shapePrimitives)!=null&&x.length))continue;const V=H.shapePrimitives;for(let G=0;G<V.length;G++){const b=V[G];if(!(b!=null&&b.shape))continue;const P=b.transform,X=P&&!P.isIdentity();X&&(n.save(),n.transform(P.a,P.b,P.c,P.d,P.tx,P.ty)),De(n,b.shape),h=ut(n,b.holes)||h,c=!0,X&&n.restore()}}if(!c){n.restore(),this._canvasMaskStack.push(!1);return}h?n.clip("evenodd"):n.clip(),this._canvasMaskStack.push(!0)}destroy(){this._renderer=null,this._warnedMaskTypes=null,this._canvasMaskStack=null}_warnOnce(e,t){this._warnedMaskTypes.has(e)||(this._warnedMaskTypes.add(e),$e(t))}}Ge.extension={type:[R.CanvasPipes],name:"stencilMask"};const g="source-over";function ft(){const o=Be(),e=Object.create(null);return e.inherit=g,e.none=g,e.normal="source-over",e.add="lighter",e.multiply=o?"multiply":g,e.screen=o?"screen":g,e.overlay=o?"overlay":g,e.darken=o?"darken":g,e.lighten=o?"lighten":g,e["color-dodge"]=o?"color-dodge":g,e["color-burn"]=o?"color-burn":g,e["hard-light"]=o?"hard-light":g,e["soft-light"]=o?"soft-light":g,e.difference=o?"difference":g,e.exclusion=o?"exclusion":g,e.saturation=o?"saturation":g,e.color=o?"color":g,e.luminosity=o?"luminosity":g,e["linear-burn"]=o?"color-burn":g,e["linear-dodge"]=o?"color-dodge":g,e["linear-light"]=o?"hard-light":g,e["pin-light"]=o?"hard-light":g,e["vivid-light"]=o?"hard-light":g,e["hard-mix"]=g,e.negation=o?"difference":g,e["normal-npm"]=e.normal,e["add-npm"]=e.add,e["screen-npm"]=e.screen,e.erase="destination-out",e.subtract=g,e.divide=g,e.min=g,e.max=g,e}const gt=new F;class Ue{constructor(e){this.activeResolution=1,this.smoothProperty="imageSmoothingEnabled",this.blendModes=ft(),this._activeBlendMode="normal",this._projTransform=null,this._outerBlend=!1,this._warnedBlendModes=new Set,this._renderer=e}resolutionChange(e){this.activeResolution=e}init(){const e=this._renderer.background.alpha<1;if(this.rootContext=this._renderer.canvas.getContext("2d",{alpha:e}),this.activeContext=this.rootContext,this.activeResolution=this._renderer.resolution,!this.rootContext.imageSmoothingEnabled){const t=this.rootContext;t.webkitImageSmoothingEnabled?this.smoothProperty="webkitImageSmoothingEnabled":t.mozImageSmoothingEnabled?this.smoothProperty="mozImageSmoothingEnabled":t.oImageSmoothingEnabled?this.smoothProperty="oImageSmoothingEnabled":t.msImageSmoothingEnabled&&(this.smoothProperty="msImageSmoothingEnabled")}}setContextTransform(e,t,a,n){var h;const s=n?F.IDENTITY:((h=this._renderer.globalUniforms.globalUniformData)==null?void 0:h.worldTransformMatrix)||F.IDENTITY;let r=gt;r.copyFrom(s),r.append(e);const i=this._projTransform,c=this.activeResolution;if(a=a||c,i){const l=F.shared;l.copyFrom(r),l.prepend(i),r=l}t?this.activeContext.setTransform(r.a*a,r.b*a,r.c*a,r.d*a,r.tx*c|0,r.ty*c|0):this.activeContext.setTransform(r.a*a,r.b*a,r.c*a,r.d*a,r.tx*c,r.ty*c)}clear(e,t){const a=this.activeContext,n=this._renderer;if(a.clearRect(0,0,n.width,n.height),e){const s=ee.shared.setValue(e);a.globalAlpha=t??s.alpha,a.fillStyle=s.toHex(),a.fillRect(0,0,n.width,n.height),a.globalAlpha=1}}setBlendMode(e){if(this._activeBlendMode===e)return;this._activeBlendMode=e,this._outerBlend=!1;const t=this.blendModes[e];if(!t){this._warnedBlendModes.has(e)||(console.warn(`CanvasRenderer: blend mode "${e}" is not supported in Canvas2D; falling back to "source-over".`),this._warnedBlendModes.add(e)),this.activeContext.globalCompositeOperation="source-over";return}this.activeContext.globalCompositeOperation=t}destroy(){this.rootContext=null,this.activeContext=null,this._warnedBlendModes.clear()}}Ue.extension={type:[R.CanvasSystem],name:"canvasContext"};class Oe{constructor(){this.maxTextures=16,this.maxBatchableTextures=16,this.maxUniformBindings=0}init(){}}Oe.extension={type:[R.CanvasSystem],name:"limits"};const mt="#808080",ie=new F,vt=new F,yt=new F,Ce=new F;function Ct(o,e,t){o.beginPath();for(let a=0;a<t.length;a+=3){const n=t[a]*2,s=t[a+1]*2,r=t[a+2]*2;o.moveTo(e[n],e[n+1]),o.lineTo(e[s],e[s+1]),o.lineTo(e[r],e[r+1]),o.closePath()}o.fill()}function xt(o){return`#${(o&16777215).toString(16).padStart(6,"0")}`}function Tt(o,e,t,a,n,s){s=Math.max(0,Math.min(s,Math.min(a,n)/2)),o.moveTo(e+s,t),o.lineTo(e+a-s,t),o.quadraticCurveTo(e+a,t,e+a,t+s),o.lineTo(e+a,t+n-s),o.quadraticCurveTo(e+a,t+n,e+a-s,t+n),o.lineTo(e+s,t+n),o.quadraticCurveTo(e,t+n,e,t+n-s),o.lineTo(e,t+s),o.quadraticCurveTo(e,t,e+s,t)}function le(o,e){switch(e.type){case"rectangle":{const t=e;o.rect(t.x,t.y,t.width,t.height);break}case"roundedRectangle":{const t=e;Tt(o,t.x,t.y,t.width,t.height,t.radius);break}case"circle":{const t=e;o.arc(t.x,t.y,t.radius,0,Math.PI*2);break}case"ellipse":{const t=e;o.ellipse?o.ellipse(t.x,t.y,t.halfWidth,t.halfHeight,0,0,Math.PI*2):(o.save(),o.translate(t.x,t.y),o.scale(t.halfWidth,t.halfHeight),o.arc(0,0,1,0,Math.PI*2),o.restore());break}case"triangle":{const t=e;o.moveTo(t.x,t.y),o.lineTo(t.x2,t.y2),o.lineTo(t.x3,t.y3),o.closePath();break}case"polygon":default:{const t=e,a=t.points;if(!(a!=null&&a.length))break;o.moveTo(a[0],a[1]);for(let n=2;n<a.length;n+=2)o.lineTo(a[n],a[n+1]);t.closePath&&o.closePath();break}}}function _t(o,e){if(!(e!=null&&e.length))return!1;for(let t=0;t<e.length;t++){const a=e[t];if(!(a!=null&&a.shape))continue;const n=a.transform,s=n&&!n.isIdentity();s&&(o.save(),o.transform(n.a,n.b,n.c,n.d,n.tx,n.ty)),le(o,a.shape),s&&o.restore()}return!0}function Pt(o,e,t,a){const n=o.fill;if(n instanceof Qe){n.buildGradient();const r=n.texture;if(r){const i=d.getTintedPattern(r,e),c=t?Ce.copyFrom(t).scale(r.source.pixelWidth,r.source.pixelHeight):Ce.copyFrom(n.transform);return a&&!o.textureSpace&&c.append(a),d.applyPatternTransform(i,c),i}}if(n instanceof Ze){const r=d.getTintedPattern(n.texture,e);return d.applyPatternTransform(r,n.transform),r}const s=o.texture;if(s&&s!==He.WHITE){if(!s.source.resource)return mt;const r=d.getTintedPattern(s,e),i=t?Ce.copyFrom(t).scale(s.source.pixelWidth,s.source.pixelHeight):o.matrix;return d.applyPatternTransform(r,i),r}return xt(e)}class Ee{constructor(){this.shader=null}contextChange(e){}execute(e,t){var V,G,b,P,X,se,te;const a=e.renderer,n=a.canvasContext,s=n.activeContext,r=t.groupTransform,i=((V=a.globalUniforms.globalUniformData)==null?void 0:V.worldColor)??4294967295,c=t.groupColorAlpha,h=(i>>>24&255)/255,l=(c>>>24&255)/255,f=((G=a.filter)==null?void 0:G.alphaMultiplier)??1,x=h*l*f;if(x<=0)return;const p=i&16777215,y=c&16777215,T=Re(ce(y,p)),v=a._roundPixels|t._roundPixels;s.save(),n.setContextTransform(r,v===1),n.setBlendMode(t.groupBlendMode);const H=t.context.instructions;for(let ne=0;ne<H.length;ne++){const J=H[ne];if(J.action==="texture"){const m=J.data,C=m.image,_=C?d.getCanvasSource(C):null;if(!_)continue;const L=m.alpha*x;if(L<=0)continue;const A=ce(m.style,T);s.globalAlpha=L;let k=_;A!==16777215&&(k=d.getTintedCanvas({texture:C},A));const U=C.frame,O=C.source._resolution??C.source.resolution??1;let B=U.x*O,W=U.y*O;const N=U.width*O,u=U.height*O;k!==_&&(B=0,W=0);const Y=m.transform,j=Y&&!Y.isIdentity(),M=C.rotate;j||M?(ie.copyFrom(r),j&&ie.append(Y),M&&D.matrixAppendRotationInv(ie,M,m.dx,m.dy,m.dw,m.dh),n.setContextTransform(ie,v===1)):n.setContextTransform(r,v===1),s.drawImage(k,B,W,k===_?N:k.width,k===_?u:k.height,M?0:m.dx,M?0:m.dy,m.dw,m.dh),(j||M)&&n.setContextTransform(r,v===1);continue}const w=J.data,S=(b=w==null?void 0:w.path)==null?void 0:b.shapePath;if(!((P=S==null?void 0:S.shapePrimitives)!=null&&P.length))continue;const I=w.style,de=ce(I.color,T),ae=I.alpha*x;if(ae<=0)continue;const q=J.action==="stroke";if(s.globalAlpha=ae,q){const m=I;s.lineWidth=m.width,s.lineCap=m.cap,s.lineJoin=m.join,s.miterLimit=m.miterLimit}const $=S.shapePrimitives;if(!q&&((te=(se=(X=w.hole)==null?void 0:X.shapePath)==null?void 0:se.shapePrimitives)!=null&&te.length)){const m=$[$.length-1];m.holes=w.hole.shapePath.shapePrimitives}for(let m=0;m<$.length;m++){const C=$[m];if(!(C!=null&&C.shape))continue;const _=C.transform,L=_&&!_.isIdentity(),A=I.texture&&I.texture!==He.WHITE,k=I.textureSpace==="global"?_:null,U=A?ze(vt,I,C.shape,k):null,O=L?yt.copyFrom(r).append(_):r,B=Pt(I,de,U,O);if(L&&(s.save(),s.transform(_.a,_.b,_.c,_.d,_.tx,_.ty)),q){const W=I;if(W.alignment!==.5&&!W.pixelLine){const u=[],Y=[],j=[],M=Je[C.shape.type];if(M!=null&&M.build(C.shape,u)){const Te=C.shape.closePath??!0;Ke(u,W,!1,Te,Y,j),s.fillStyle=B,Ct(s,Y,j)}else s.strokeStyle=B,s.beginPath(),le(s,C.shape),s.stroke()}else s.strokeStyle=B,s.beginPath(),le(s,C.shape),s.stroke()}else s.fillStyle=B,s.beginPath(),le(s,C.shape),_t(s,C.holes)?s.fill("evenodd"):s.fill();L&&s.restore()}}s.restore()}destroy(){this.shader=null}}Ee.extension={type:[R.CanvasPipesAdaptor],name:"graphics"};class Mt{init(e,t){this._renderer=e,this._renderTargetSystem=t}initGpuRenderTarget(e){const t=e.colorTexture,{canvas:a,context:n}=this._ensureCanvas(t);return{canvas:a,context:n,width:a.width,height:a.height}}resizeGpuRenderTarget(e){const t=e.colorTexture,{canvas:a}=this._ensureCanvas(t);a.width=e.pixelWidth,a.height=e.pixelHeight}startRenderPass(e,t,a,n){const s=this._renderTargetSystem.getGpuRenderTarget(e);this._renderer.canvasContext.activeContext=s.context,this._renderer.canvasContext.activeResolution=e.resolution,t&&this.clear(e,t,a,n)}clear(e,t,a,n){const r=this._renderTargetSystem.getGpuRenderTarget(e).context,i=n||{x:0,y:0,width:e.pixelWidth,height:e.pixelHeight};if(r.setTransform(1,0,0,1,0,0),r.clearRect(i.x,i.y,i.width,i.height),a){const c=ee.shared.setValue(a);c.alpha>0&&(r.globalAlpha=c.alpha,r.fillStyle=c.toHex(),r.fillRect(i.x,i.y,i.width,i.height),r.globalAlpha=1)}}finishRenderPass(){}copyToTexture(e,t,a,n,s){const i=this._renderTargetSystem.getGpuRenderTarget(e).canvas,c=t.source,{context:h}=this._ensureCanvas(c),l=(s==null?void 0:s.x)??0,f=(s==null?void 0:s.y)??0;return h.drawImage(i,a.x,a.y,n.width,n.height,l,f,n.width,n.height),c.update(),t}destroyGpuRenderTarget(e){}_ensureCanvas(e){let t=e.resource;(!t||!et.test(t))&&(t=E.get().createCanvas(e.pixelWidth,e.pixelHeight),e.resource=t),(t.width!==e.pixelWidth||t.height!==e.pixelHeight)&&(t.width=e.pixelWidth,t.height=e.pixelHeight);const a=t.getContext("2d");return{canvas:t,context:a}}}class Fe extends at{constructor(e){super(e),this.adaptor=new Mt,this.adaptor.init(e,this)}}Fe.extension={type:[R.CanvasSystem],name:"renderTarget"};class Ve{constructor(e){}init(){}initSource(e){}generateCanvas(e){const t=E.get().createCanvas(),a=t.getContext("2d"),n=d.getCanvasSource(e);if(!n)return t;const s=e.frame,r=e.source._resolution??e.source.resolution??1,i=s.x*r,c=s.y*r,h=s.width*r,l=s.height*r;return t.width=Math.ceil(h),t.height=Math.ceil(l),a.drawImage(n,i,c,h,l,0,0,h,l),t}getPixels(e){const t=this.generateCanvas(e);return{pixels:t.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,t.width,t.height).data,width:t.width,height:t.height}}destroy(){}}Ve.extension={type:[R.CanvasSystem],name:"texture"};const bt=[...st,Ue,Oe,Ve,Fe],wt=[ot,rt,it,ct,lt,Ge,We,ht],kt=[dt,Ee],qe=[],Le=[],Ne=[];he.handleByNamedList(R.CanvasSystem,qe);he.handleByNamedList(R.CanvasPipes,Le);he.handleByNamedList(R.CanvasPipesAdaptor,Ne);he.add(...bt,...wt,...kt);class At extends tt{constructor(){const e={name:"canvas",type:nt.CANVAS,systems:qe,renderPipes:Le,renderPipeAdaptors:Ne};super(e)}}export{At as CanvasRenderer};
|