@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,148 @@
1
+ import { type BlockManifest, type EditPlan, type Operation, type PageDoc } from "@avocadostudio-ai/shared";
2
+ /** Reset the singleton (useful for tests that swap API keys). */
3
+ export declare function resetOpenAIClient(): void;
4
+ import { type ParsedIntent, blockContractsSummary, pageMetaContractSummary, plannerContextPack } from "../nlp/deterministic-planner.ts";
5
+ import { type TokenUsage } from "../telemetry/usage.ts";
6
+ import type { ToolRuntime } from "../tools/runtime.ts";
7
+ import type { ToolExecutionEvent } from "../tools/types.ts";
8
+ import { PlannerError, isPlannerError, type PlannerFailureReasonCategory } from "../errors.ts";
9
+ export { PlannerError, isPlannerError };
10
+ export type { PlannerFailureReasonCategory };
11
+ /** @deprecated Use `PlannerError` instead. */
12
+ export declare const PlannerOutputError: typeof PlannerError;
13
+ /** @deprecated Use `isPlannerError` instead. */
14
+ export declare const isPlannerOutputError: typeof isPlannerError;
15
+ export declare function isChatStrictPrimaryOpMode(): boolean;
16
+ export declare function isPageWideTranslationRequest(message: string): boolean;
17
+ export type PlannerContractMode = "minimal" | "targeted" | "full";
18
+ export type PlannerSchemaContextMeta = {
19
+ contractMode: PlannerContractMode;
20
+ contractBytes: number;
21
+ contractBlockCount: number;
22
+ targetBlockTypes: string[];
23
+ strictJsonEnabled: boolean;
24
+ };
25
+ type PlannerSchemaContextPayload = {
26
+ blockContracts?: ReturnType<typeof blockContractsSummary>;
27
+ pageMetaContract?: ReturnType<typeof pageMetaContractSummary>;
28
+ knownBlockTypes?: string[];
29
+ editPlanShape?: {
30
+ intent: string;
31
+ summary_for_user: string;
32
+ change_log: string[];
33
+ ops: string[];
34
+ suggested_next_actions: string[];
35
+ };
36
+ };
37
+ export declare function isStrictJsonResponseEnabled(): boolean;
38
+ export declare function isAdaptiveSchemaContextEnabled(): boolean;
39
+ export declare function buildPlannerSchemaContext(args: {
40
+ message: string;
41
+ contextPack: ReturnType<typeof plannerContextPack>;
42
+ batchOverride: boolean;
43
+ pageWideTranslation: boolean;
44
+ legacyIncludeContracts: boolean;
45
+ forceFullContracts?: boolean;
46
+ componentsManifest?: BlockManifest;
47
+ effectiveBlockTypes?: string[];
48
+ }): {
49
+ payload: PlannerSchemaContextPayload;
50
+ meta: PlannerSchemaContextMeta;
51
+ };
52
+ export type PlannerOpenAIClient = {
53
+ chat: {
54
+ completions: {
55
+ create: (args: unknown, options?: {
56
+ signal?: AbortSignal;
57
+ }) => any;
58
+ };
59
+ };
60
+ responses: {
61
+ create: (args: unknown, options?: {
62
+ signal?: AbortSignal;
63
+ }) => any;
64
+ };
65
+ };
66
+ export declare function openAIChatOptionsForModel(model: string): {
67
+ temperature?: undefined;
68
+ } | {
69
+ temperature: 0;
70
+ };
71
+ export declare function isResponsesOnlyModel(_model: string): boolean;
72
+ export declare function openAiModelSupportsPdfFiles(model: string): boolean;
73
+ export declare function extractResponsesOutputText(response: unknown): string;
74
+ export declare function extractSummaryFromPlanBuffer(raw: string): {
75
+ summary: string | null;
76
+ changeLog: string[];
77
+ };
78
+ export declare function extractOpsFromPlanBuffer(raw: string, emittedCount: number): {
79
+ nextEmittedCount: number;
80
+ newOps: Operation[];
81
+ };
82
+ export type StreamedFieldDraft = {
83
+ opIndex: number;
84
+ blockId: string;
85
+ editablePath: string;
86
+ value: string;
87
+ /**
88
+ * Optional target page slug parsed from the partial op object. When the
89
+ * planner emits multi-page plans (e.g. duplicate_page → update_props on a
90
+ * new slug), the editor uses this to suppress live-draft overlays whose
91
+ * pageSlug doesn't match the user's currently-viewed page.
92
+ */
93
+ pageSlug?: string;
94
+ };
95
+ export declare function extractUpdatePropsFieldDraftsFromPlanBuffer(raw: string): StreamedFieldDraft[];
96
+ export declare function parseIntentWithOpenAI(args: {
97
+ message: string;
98
+ slug: string;
99
+ currentPage: PageDoc;
100
+ activeBlockId?: string;
101
+ activeBlockType?: string;
102
+ activeEditablePath?: string;
103
+ model: string;
104
+ client?: PlannerOpenAIClient;
105
+ }): Promise<ParsedIntent>;
106
+ export declare function generatePlanWithOpenAI(args: {
107
+ message: string;
108
+ slug: string;
109
+ currentPage: PageDoc;
110
+ contextPack: ReturnType<typeof plannerContextPack>;
111
+ model: string;
112
+ history?: Array<{
113
+ role: "user" | "assistant";
114
+ content: string;
115
+ }>;
116
+ feedback?: string;
117
+ onToken?: (token: string) => void;
118
+ onFieldDraft?: (draft: {
119
+ blockId: string;
120
+ editablePath: string;
121
+ value: string;
122
+ pageSlug?: string;
123
+ }) => void;
124
+ onPlannedOp?: (op: Operation, index: number) => void;
125
+ onSummaryChunk?: (text: string) => void;
126
+ onChangeLogEntry?: (entry: string) => void;
127
+ onToolExecution?: (event: ToolExecutionEvent) => void;
128
+ toolRuntime?: ToolRuntime;
129
+ toolCallContext?: {
130
+ siteId: string;
131
+ sessionId: string;
132
+ userId?: string;
133
+ traceId: string;
134
+ gdriveFolderId?: string;
135
+ };
136
+ client?: PlannerOpenAIClient;
137
+ siteContextBlock?: string | null;
138
+ forceFullSchemaContracts?: boolean;
139
+ componentsManifest?: BlockManifest;
140
+ lightweight?: boolean;
141
+ signal?: AbortSignal;
142
+ locale?: string;
143
+ imageSourceChoiceOpen?: boolean;
144
+ }): Promise<{
145
+ plan: EditPlan;
146
+ usage: TokenUsage;
147
+ schemaContext: PlannerSchemaContextMeta;
148
+ }>;