@avocadostudio-ai/orchestrator-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/LICENSE +201 -0
  2. package/dist/agent/agent-context.d.ts +19 -0
  3. package/dist/agent/agent-context.js +67 -0
  4. package/dist/agent/agent-logger.d.ts +5 -0
  5. package/dist/agent/agent-logger.js +22 -0
  6. package/dist/agent/agent-loop-openai.d.ts +8 -0
  7. package/dist/agent/agent-loop-openai.js +172 -0
  8. package/dist/agent/agent-loop.d.ts +56 -0
  9. package/dist/agent/agent-loop.js +167 -0
  10. package/dist/agent/agent-provider.d.ts +28 -0
  11. package/dist/agent/agent-provider.js +63 -0
  12. package/dist/agent/agent-tools.d.ts +28 -0
  13. package/dist/agent/agent-tools.js +899 -0
  14. package/dist/agent/context/editing-guidelines.md +46 -0
  15. package/dist/agent/context/role.md +39 -0
  16. package/dist/agent/integration-prompt.d.ts +9 -0
  17. package/dist/agent/integration-prompt.js +154 -0
  18. package/dist/agent/sites-agent-context.d.ts +12 -0
  19. package/dist/agent/sites-agent-context.js +316 -0
  20. package/dist/agent/sites-agent-shared.d.ts +161 -0
  21. package/dist/agent/sites-agent-shared.js +1101 -0
  22. package/dist/agent/sites-agent-tools.d.ts +18 -0
  23. package/dist/agent/sites-agent-tools.js +1227 -0
  24. package/dist/chat/anthropic-cache.d.ts +20 -0
  25. package/dist/chat/anthropic-cache.js +54 -0
  26. package/dist/chat/anthropic-planner.d.ts +98 -0
  27. package/dist/chat/anthropic-planner.js +1012 -0
  28. package/dist/chat/changelog-coverage-validator.d.ts +37 -0
  29. package/dist/chat/changelog-coverage-validator.js +215 -0
  30. package/dist/chat/chat-pipeline-context.d.ts +211 -0
  31. package/dist/chat/chat-pipeline-context.js +249 -0
  32. package/dist/chat/chat-pipeline-deterministic.d.ts +61 -0
  33. package/dist/chat/chat-pipeline-deterministic.js +407 -0
  34. package/dist/chat/chat-pipeline-image.d.ts +86 -0
  35. package/dist/chat/chat-pipeline-image.js +897 -0
  36. package/dist/chat/chat-pipeline-shared.d.ts +69 -0
  37. package/dist/chat/chat-pipeline-shared.js +212 -0
  38. package/dist/chat/chat-pipeline-translation.d.ts +27 -0
  39. package/dist/chat/chat-pipeline-translation.js +417 -0
  40. package/dist/chat/chat-pipeline-ui.d.ts +14 -0
  41. package/dist/chat/chat-pipeline-ui.js +244 -0
  42. package/dist/chat/chat-pipeline.d.ts +99 -0
  43. package/dist/chat/chat-pipeline.js +3999 -0
  44. package/dist/chat/decomposer.d.ts +21 -0
  45. package/dist/chat/decomposer.js +65 -0
  46. package/dist/chat/gemini-planner.d.ts +70 -0
  47. package/dist/chat/gemini-planner.js +541 -0
  48. package/dist/chat/hallucination-validator.d.ts +36 -0
  49. package/dist/chat/hallucination-validator.js +110 -0
  50. package/dist/chat/locale-strings.d.ts +47 -0
  51. package/dist/chat/locale-strings.js +100 -0
  52. package/dist/chat/plan-json-schema.d.ts +133 -0
  53. package/dist/chat/plan-json-schema.js +112 -0
  54. package/dist/chat/planner-types.d.ts +120 -0
  55. package/dist/chat/planner-types.js +66 -0
  56. package/dist/chat/planner.d.ts +148 -0
  57. package/dist/chat/planner.js +1361 -0
  58. package/dist/chat/prompts.d.ts +67 -0
  59. package/dist/chat/prompts.js +356 -0
  60. package/dist/chat/provider-routing.d.ts +14 -0
  61. package/dist/chat/provider-routing.js +27 -0
  62. package/dist/chat/variation-pipeline.d.ts +135 -0
  63. package/dist/chat/variation-pipeline.js +837 -0
  64. package/dist/chat/vision-alt-generator.d.ts +35 -0
  65. package/dist/chat/vision-alt-generator.js +152 -0
  66. package/dist/cms/adapter.d.ts +62 -0
  67. package/dist/cms/adapter.js +1 -0
  68. package/dist/cms/bootstrap.d.ts +17 -0
  69. package/dist/cms/bootstrap.js +85 -0
  70. package/dist/cms/editor-api-adapter.d.ts +23 -0
  71. package/dist/cms/editor-api-adapter.js +71 -0
  72. package/dist/cms/index.d.ts +4 -0
  73. package/dist/cms/index.js +3 -0
  74. package/dist/cms/json-file-adapter.d.ts +11 -0
  75. package/dist/cms/json-file-adapter.js +62 -0
  76. package/dist/demo-mode.d.ts +59 -0
  77. package/dist/demo-mode.js +201 -0
  78. package/dist/errors.d.ts +67 -0
  79. package/dist/errors.js +129 -0
  80. package/dist/http/chat-stream-resumable.d.ts +108 -0
  81. package/dist/http/chat-stream-resumable.js +290 -0
  82. package/dist/http/chat-stream.d.ts +99 -0
  83. package/dist/http/chat-stream.js +92 -0
  84. package/dist/image/gdrive-client.d.ts +22 -0
  85. package/dist/image/gdrive-client.js +215 -0
  86. package/dist/image/image-helpers.d.ts +95 -0
  87. package/dist/image/image-helpers.js +488 -0
  88. package/dist/index.d.ts +1 -0
  89. package/dist/index.js +1 -0
  90. package/dist/jira/jira-approval.d.ts +22 -0
  91. package/dist/jira/jira-approval.js +51 -0
  92. package/dist/jira/jira-client.d.ts +44 -0
  93. package/dist/jira/jira-client.js +313 -0
  94. package/dist/jira/jira-poller.d.ts +46 -0
  95. package/dist/jira/jira-poller.js +184 -0
  96. package/dist/jira/jira-processor.d.ts +103 -0
  97. package/dist/jira/jira-processor.js +1085 -0
  98. package/dist/jira/jira-types.d.ts +117 -0
  99. package/dist/jira/jira-types.js +38 -0
  100. package/dist/logger.d.ts +12 -0
  101. package/dist/logger.js +28 -0
  102. package/dist/migration/mcp-server-stdio.d.ts +8 -0
  103. package/dist/migration/mcp-server-stdio.js +672 -0
  104. package/dist/migration/migration-prompt.d.ts +7 -0
  105. package/dist/migration/migration-prompt.js +197 -0
  106. package/dist/migration/migration-tools.d.ts +17 -0
  107. package/dist/migration/migration-tools.js +159 -0
  108. package/dist/migration/scrape-cache.d.ts +9 -0
  109. package/dist/migration/scrape-cache.js +19 -0
  110. package/dist/nlp/deterministic-planner-context.d.ts +141 -0
  111. package/dist/nlp/deterministic-planner-context.js +362 -0
  112. package/dist/nlp/deterministic-planner-pages.d.ts +26 -0
  113. package/dist/nlp/deterministic-planner-pages.js +170 -0
  114. package/dist/nlp/deterministic-planner-patches.d.ts +80 -0
  115. package/dist/nlp/deterministic-planner-patches.js +508 -0
  116. package/dist/nlp/deterministic-planner-refs.d.ts +33 -0
  117. package/dist/nlp/deterministic-planner-refs.js +164 -0
  118. package/dist/nlp/deterministic-planner-suggestions.d.ts +49 -0
  119. package/dist/nlp/deterministic-planner-suggestions.js +579 -0
  120. package/dist/nlp/deterministic-planner.d.ts +85 -0
  121. package/dist/nlp/deterministic-planner.js +1631 -0
  122. package/dist/nlp/intent-detection.d.ts +309 -0
  123. package/dist/nlp/intent-detection.js +730 -0
  124. package/dist/nlp/intent-helpers.d.ts +15 -0
  125. package/dist/nlp/intent-helpers.js +243 -0
  126. package/dist/nlp/intent-patterns.d.ts +40 -0
  127. package/dist/nlp/intent-patterns.js +223 -0
  128. package/dist/nlp/plan-normalizer.d.ts +41 -0
  129. package/dist/nlp/plan-normalizer.js +1537 -0
  130. package/dist/ops/destructive-action-gate.d.ts +44 -0
  131. package/dist/ops/destructive-action-gate.js +90 -0
  132. package/dist/ops/ops-engine.d.ts +151 -0
  133. package/dist/ops/ops-engine.js +1394 -0
  134. package/dist/publish/diff-engine.d.ts +18 -0
  135. package/dist/publish/diff-engine.js +305 -0
  136. package/dist/publish/publish-helpers.d.ts +87 -0
  137. package/dist/publish/publish-helpers.js +521 -0
  138. package/dist/publish/publish-target-registry.d.ts +7 -0
  139. package/dist/publish/publish-target-registry.js +61 -0
  140. package/dist/publish/publish-target.d.ts +81 -0
  141. package/dist/publish/publish-target.js +1 -0
  142. package/dist/publish/targets/deploy-hook.d.ts +13 -0
  143. package/dist/publish/targets/deploy-hook.js +123 -0
  144. package/dist/publish/targets/git.d.ts +13 -0
  145. package/dist/publish/targets/git.js +55 -0
  146. package/dist/publish/targets/site-contract.d.ts +19 -0
  147. package/dist/publish/targets/site-contract.js +124 -0
  148. package/dist/state/content-source.d.ts +17 -0
  149. package/dist/state/content-source.js +1 -0
  150. package/dist/state/in-memory-content-source.d.ts +27 -0
  151. package/dist/state/in-memory-content-source.js +51 -0
  152. package/dist/state/session-lock.d.ts +13 -0
  153. package/dist/state/session-lock.js +29 -0
  154. package/dist/state/session-state.d.ts +310 -0
  155. package/dist/state/session-state.js +1083 -0
  156. package/dist/state/sqlite-store-singleton.d.ts +31 -0
  157. package/dist/state/sqlite-store-singleton.js +170 -0
  158. package/dist/state/sqlite-store.d.ts +135 -0
  159. package/dist/state/sqlite-store.js +421 -0
  160. package/dist/telemetry/chat-telemetry.d.ts +105 -0
  161. package/dist/telemetry/chat-telemetry.js +247 -0
  162. package/dist/telemetry/eval-candidate-store.d.ts +50 -0
  163. package/dist/telemetry/eval-candidate-store.js +120 -0
  164. package/dist/telemetry/feedback-store.d.ts +34 -0
  165. package/dist/telemetry/feedback-store.js +76 -0
  166. package/dist/telemetry/jira-telemetry.d.ts +57 -0
  167. package/dist/telemetry/jira-telemetry.js +68 -0
  168. package/dist/telemetry/migration-telemetry.d.ts +35 -0
  169. package/dist/telemetry/migration-telemetry.js +40 -0
  170. package/dist/telemetry/usage.d.ts +24 -0
  171. package/dist/telemetry/usage.js +80 -0
  172. package/dist/tools/builtin-registrations.d.ts +12 -0
  173. package/dist/tools/builtin-registrations.js +33 -0
  174. package/dist/tools/builtins/gdrive-browse.d.ts +3 -0
  175. package/dist/tools/builtins/gdrive-browse.js +68 -0
  176. package/dist/tools/builtins/image-generate.d.ts +3 -0
  177. package/dist/tools/builtins/image-generate.js +211 -0
  178. package/dist/tools/builtins/unsplash-get-by-id.d.ts +23 -0
  179. package/dist/tools/builtins/unsplash-get-by-id.js +119 -0
  180. package/dist/tools/builtins/unsplash-search.d.ts +3 -0
  181. package/dist/tools/builtins/unsplash-search.js +74 -0
  182. package/dist/tools/executor.d.ts +23 -0
  183. package/dist/tools/executor.js +169 -0
  184. package/dist/tools/index.d.ts +5 -0
  185. package/dist/tools/index.js +5 -0
  186. package/dist/tools/registry.d.ts +21 -0
  187. package/dist/tools/registry.js +75 -0
  188. package/dist/tools/runtime.d.ts +27 -0
  189. package/dist/tools/runtime.js +48 -0
  190. package/dist/tools/schema-validator.d.ts +24 -0
  191. package/dist/tools/schema-validator.js +88 -0
  192. package/dist/tools/types.d.ts +86 -0
  193. package/dist/tools/types.js +1 -0
  194. package/dist/variation-images.d.ts +19 -0
  195. package/dist/variation-images.js +12 -0
  196. package/package.json +78 -0
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Shared utilities for site-agent tools — used by both the Agent SDK MCP server
3
+ * and the standalone stdio MCP server (CLI mode).
4
+ *
5
+ * Contains: prop validation/correction, CSS patching, port allocation, site ID sanitization.
6
+ */
7
+ export declare function sanitizeSiteId(name: string): string;
8
+ export declare function monorepoRoot(): string;
9
+ /**
10
+ * Resolve the DRAFT_MODE_SECRET to write into a scaffolded site's `.env.local`.
11
+ * Reads from the orchestrator's own environment so the scaffolded site lines up
12
+ * with the editor's build-time `VITE_SITE_DRAFT_SECRET`. Falls back to a known
13
+ * dev placeholder if the orchestrator wasn't started with one — that placeholder
14
+ * is intentionally weak so production deployments fail closed if env config is
15
+ * forgotten.
16
+ */
17
+ export declare function getDraftModeSecret(): string;
18
+ export declare function findAvailablePort(root: string): Promise<number>;
19
+ export interface ThemePreset {
20
+ name: string;
21
+ description: string;
22
+ googleFontsUrl?: string;
23
+ overrides: Record<string, string>;
24
+ }
25
+ export declare const THEME_PRESETS: ThemePreset[];
26
+ /**
27
+ * Format theme presets as a catalog for the system prompt.
28
+ * Shows name, description, and the full CSS variable overrides so the LLM
29
+ * can copy them into themeOverrides.
30
+ */
31
+ export declare function buildThemePresetsCatalog(): string;
32
+ /** Model tiers for the sites agent pipeline. */
33
+ export declare const SITES_AGENT_MODELS: {
34
+ /** Haiku — triage, intent detection, simple Q&A ($0.001/call).
35
+ * Full model ID for direct Anthropic API calls (not Agent SDK). */
36
+ fast: string;
37
+ /** Sonnet — main agent, subagents, standard migrations.
38
+ * Agent SDK enum value (SDK resolves to latest Sonnet). */
39
+ balanced: "sonnet";
40
+ /** Opus — complex migrations, multi-page sites, custom block design.
41
+ * Agent SDK enum value (SDK resolves to latest Opus). */
42
+ powerful: "opus";
43
+ };
44
+ export type TriageResult = {
45
+ intent: "create" | "migrate" | "integrate" | "question";
46
+ url?: string;
47
+ siteName?: string;
48
+ scope?: string;
49
+ answer?: string;
50
+ };
51
+ /**
52
+ * Fast triage using Haiku — classifies intent, extracts params, answers simple questions.
53
+ * ~200ms, ~$0.001 per call.
54
+ */
55
+ export declare function triageWithHaiku(message: string, apiKey: string): Promise<TriageResult>;
56
+ export declare function patchGlobalsCssVars(cssPath: string, vars: Record<string, string>): Promise<void>;
57
+ export declare function fixFooterLinks(props: Record<string, unknown>): Record<string, unknown>;
58
+ export declare function validateAndCorrectProps(blockType: string, props: Record<string, unknown>): {
59
+ props: Record<string, unknown>;
60
+ corrected: boolean;
61
+ error?: string;
62
+ };
63
+ /**
64
+ * Normalize and validate blocks for a page — applies prop correction, strips chrome blocks,
65
+ * extracts footer. Shared between SDK and stdio bootstrap_pages implementations.
66
+ */
67
+ export declare function normalizePageBlocks(blocks: Array<{
68
+ type: string;
69
+ props: Record<string, unknown>;
70
+ }>): {
71
+ contentBlocks: Array<{
72
+ id: string;
73
+ type: string;
74
+ props: Record<string, unknown>;
75
+ }>;
76
+ footerBlock: {
77
+ type: string;
78
+ props: Record<string, unknown>;
79
+ } | null;
80
+ strippedCount: number;
81
+ };
82
+ export declare function packageJson(siteId: string, name: string, port: number): string;
83
+ export declare function nextConfigTs(): string;
84
+ export declare function tsconfigJson(): string;
85
+ export declare function postcssConfig(): string;
86
+ export declare function layoutTsx(siteName: string): string;
87
+ export declare function globalsCss(): string;
88
+ export declare function defaultsTs(siteId: string, siteName: string): string;
89
+ export declare function editorApiRoute(): string;
90
+ export declare function pageTsx(siteId: string, options?: {
91
+ chrome?: boolean;
92
+ }): string;
93
+ export declare function hybridPageTsx(siteId: string): string;
94
+ export declare function blocksRegisterTsx(): string;
95
+ export declare function samplePagesJson(): string;
96
+ export declare function defaultLogoSvg(siteName: string): string;
97
+ export declare function faviconSvg(siteName: string): string;
98
+ /**
99
+ * Scaffold a complete Next.js site project. Used by both SDK and CLI create_site tools.
100
+ * Returns the site config and port. Does NOT start the dev server (caller handles that).
101
+ */
102
+ export declare function scaffoldSiteProject(options: {
103
+ siteId: string;
104
+ name: string;
105
+ purpose?: string;
106
+ tone?: string;
107
+ port?: number;
108
+ }): Promise<{
109
+ siteId: string;
110
+ port: number;
111
+ projectDir: string;
112
+ }>;
113
+ export type CodebaseAnalysis = {
114
+ framework: "nextjs-app-router" | "nextjs-pages-router" | "other";
115
+ nextVersion: string | null;
116
+ packageManager: "pnpm" | "npm" | "yarn";
117
+ hasTypeScript: boolean;
118
+ hasTailwind: boolean;
119
+ stylingApproach: string;
120
+ existingRoutes: string[];
121
+ existingCms: string | null;
122
+ hasEditorIntegration: boolean;
123
+ layoutPath: string | null;
124
+ globalCssPath: string | null;
125
+ isMonorepoChild: boolean;
126
+ dependencies: Record<string, string>;
127
+ };
128
+ /**
129
+ * Analyze an existing site project to determine its structure, framework,
130
+ * CMS, and what's needed to integrate with the AI Site Editor.
131
+ */
132
+ export declare function analyzeCodebase(projectPath: string): Promise<CodebaseAnalysis>;
133
+ export type CloneResult = {
134
+ status: "cloned" | "updated" | "exists";
135
+ localPath: string;
136
+ branch: string;
137
+ commitCount?: number;
138
+ repoName: string;
139
+ message?: string;
140
+ };
141
+ /**
142
+ * Clone a GitHub repo into apps/{dirName}, or pull if it already exists.
143
+ */
144
+ export declare function cloneRepo(url: string, targetDir?: string): Promise<CloneResult>;
145
+ /**
146
+ * Detect the dev server port from an existing site's package.json.
147
+ */
148
+ export declare function detectSitePort(projectDir: string): Promise<number>;
149
+ /**
150
+ * Start a Next.js dev server and wait for it to report "Ready" (or timeout).
151
+ * Replaces fire-and-forget spawn patterns that reported success before the server was up.
152
+ */
153
+ export declare function startAndWaitForDevServer(opts: {
154
+ siteId: string;
155
+ port: number;
156
+ cwd: string;
157
+ useFilter?: boolean;
158
+ timeoutMs?: number;
159
+ }): Promise<{
160
+ serverReady: boolean;
161
+ }>;