@sireai/optimus 0.1.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.
Files changed (204) hide show
  1. package/.env.example +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +104 -0
  4. package/dist/cli/optimus.d.ts +2 -0
  5. package/dist/cli/optimus.js +2951 -0
  6. package/dist/cli/optimus.js.map +1 -0
  7. package/dist/cli/self-update.d.ts +49 -0
  8. package/dist/cli/self-update.js +264 -0
  9. package/dist/cli/self-update.js.map +1 -0
  10. package/dist/config/load-config.d.ts +3 -0
  11. package/dist/config/load-config.js +321 -0
  12. package/dist/config/load-config.js.map +1 -0
  13. package/dist/config/optimus-paths.d.ts +13 -0
  14. package/dist/config/optimus-paths.js +44 -0
  15. package/dist/config/optimus-paths.js.map +1 -0
  16. package/dist/index.d.ts +25 -0
  17. package/dist/index.js +27 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/integrations/jira/jira-cli.d.ts +1 -0
  20. package/dist/integrations/jira/jira-cli.js +278 -0
  21. package/dist/integrations/jira/jira-cli.js.map +1 -0
  22. package/dist/integrations/jira/jira-client.d.ts +99 -0
  23. package/dist/integrations/jira/jira-client.js +521 -0
  24. package/dist/integrations/jira/jira-client.js.map +1 -0
  25. package/dist/integrations/jira/jira-submit.d.ts +71 -0
  26. package/dist/integrations/jira/jira-submit.js +351 -0
  27. package/dist/integrations/jira/jira-submit.js.map +1 -0
  28. package/dist/problem-solving-core/codex/codex-auth-resolver.d.ts +23 -0
  29. package/dist/problem-solving-core/codex/codex-auth-resolver.js +136 -0
  30. package/dist/problem-solving-core/codex/codex-auth-resolver.js.map +1 -0
  31. package/dist/problem-solving-core/codex/codex-connectivity-checks.d.ts +6 -0
  32. package/dist/problem-solving-core/codex/codex-connectivity-checks.js +81 -0
  33. package/dist/problem-solving-core/codex/codex-connectivity-checks.js.map +1 -0
  34. package/dist/problem-solving-core/codex/codex-failure-classifier.d.ts +2 -0
  35. package/dist/problem-solving-core/codex/codex-failure-classifier.js +49 -0
  36. package/dist/problem-solving-core/codex/codex-failure-classifier.js.map +1 -0
  37. package/dist/problem-solving-core/codex/codex-global-config.d.ts +17 -0
  38. package/dist/problem-solving-core/codex/codex-global-config.js +100 -0
  39. package/dist/problem-solving-core/codex/codex-global-config.js.map +1 -0
  40. package/dist/problem-solving-core/codex/codex-preflight.d.ts +13 -0
  41. package/dist/problem-solving-core/codex/codex-preflight.js +142 -0
  42. package/dist/problem-solving-core/codex/codex-preflight.js.map +1 -0
  43. package/dist/problem-solving-core/codex/codex-provider-profile.d.ts +14 -0
  44. package/dist/problem-solving-core/codex/codex-provider-profile.js +68 -0
  45. package/dist/problem-solving-core/codex/codex-provider-profile.js.map +1 -0
  46. package/dist/problem-solving-core/codex/codex-required-env.d.ts +3 -0
  47. package/dist/problem-solving-core/codex/codex-required-env.js +21 -0
  48. package/dist/problem-solving-core/codex/codex-required-env.js.map +1 -0
  49. package/dist/problem-solving-core/codex/codex-runner.d.ts +37 -0
  50. package/dist/problem-solving-core/codex/codex-runner.js +926 -0
  51. package/dist/problem-solving-core/codex/codex-runner.js.map +1 -0
  52. package/dist/problem-solving-core/codex/evolution-skill-guard.d.ts +36 -0
  53. package/dist/problem-solving-core/codex/evolution-skill-guard.js +143 -0
  54. package/dist/problem-solving-core/codex/evolution-skill-guard.js.map +1 -0
  55. package/dist/problem-solving-core/codex/repo-memory-service.d.ts +24 -0
  56. package/dist/problem-solving-core/codex/repo-memory-service.js +114 -0
  57. package/dist/problem-solving-core/codex/repo-memory-service.js.map +1 -0
  58. package/dist/problem-solving-core/codex/skill-sync-service.d.ts +35 -0
  59. package/dist/problem-solving-core/codex/skill-sync-service.js +280 -0
  60. package/dist/problem-solving-core/codex/skill-sync-service.js.map +1 -0
  61. package/dist/task-environment/cancellation/task-abort-registry.d.ts +17 -0
  62. package/dist/task-environment/cancellation/task-abort-registry.js +51 -0
  63. package/dist/task-environment/cancellation/task-abort-registry.js.map +1 -0
  64. package/dist/task-environment/cancellation/task-cancellation-service.d.ts +25 -0
  65. package/dist/task-environment/cancellation/task-cancellation-service.js +54 -0
  66. package/dist/task-environment/cancellation/task-cancellation-service.js.map +1 -0
  67. package/dist/task-environment/cancellation/task-cleanup-service.d.ts +22 -0
  68. package/dist/task-environment/cancellation/task-cleanup-service.js +67 -0
  69. package/dist/task-environment/cancellation/task-cleanup-service.js.map +1 -0
  70. package/dist/task-environment/delivery/commit-message/bugfix-commit-message-template.d.ts +13 -0
  71. package/dist/task-environment/delivery/commit-message/bugfix-commit-message-template.js +83 -0
  72. package/dist/task-environment/delivery/commit-message/bugfix-commit-message-template.js.map +1 -0
  73. package/dist/task-environment/delivery/commit-message/commit-message-builder.d.ts +6 -0
  74. package/dist/task-environment/delivery/commit-message/commit-message-builder.js +15 -0
  75. package/dist/task-environment/delivery/commit-message/commit-message-builder.js.map +1 -0
  76. package/dist/task-environment/delivery/commit-message/commit-message-template-types.d.ts +16 -0
  77. package/dist/task-environment/delivery/commit-message/commit-message-template-types.js +2 -0
  78. package/dist/task-environment/delivery/commit-message/commit-message-template-types.js.map +1 -0
  79. package/dist/task-environment/delivery/feishu-analysis-doc-service.d.ts +50 -0
  80. package/dist/task-environment/delivery/feishu-analysis-doc-service.js +454 -0
  81. package/dist/task-environment/delivery/feishu-analysis-doc-service.js.map +1 -0
  82. package/dist/task-environment/delivery/feishu-card-renderer.d.ts +38 -0
  83. package/dist/task-environment/delivery/feishu-card-renderer.js +449 -0
  84. package/dist/task-environment/delivery/feishu-card-renderer.js.map +1 -0
  85. package/dist/task-environment/delivery/feishu-content/feishu-content-renderer.d.ts +34 -0
  86. package/dist/task-environment/delivery/feishu-content/feishu-content-renderer.js +201 -0
  87. package/dist/task-environment/delivery/feishu-content/feishu-content-renderer.js.map +1 -0
  88. package/dist/task-environment/delivery/feishu-content/feishu-copy-config.d.ts +27 -0
  89. package/dist/task-environment/delivery/feishu-content/feishu-copy-config.js +74 -0
  90. package/dist/task-environment/delivery/feishu-content/feishu-copy-config.js.map +1 -0
  91. package/dist/task-environment/delivery/feishu-notifier.d.ts +45 -0
  92. package/dist/task-environment/delivery/feishu-notifier.js +250 -0
  93. package/dist/task-environment/delivery/feishu-notifier.js.map +1 -0
  94. package/dist/task-environment/delivery/feishu-templates/analysis-message-template.d.ts +6 -0
  95. package/dist/task-environment/delivery/feishu-templates/analysis-message-template.js +39 -0
  96. package/dist/task-environment/delivery/feishu-templates/analysis-message-template.js.map +1 -0
  97. package/dist/task-environment/delivery/feishu-templates/bugfix-message-template.d.ts +6 -0
  98. package/dist/task-environment/delivery/feishu-templates/bugfix-message-template.js +40 -0
  99. package/dist/task-environment/delivery/feishu-templates/bugfix-message-template.js.map +1 -0
  100. package/dist/task-environment/delivery/feishu-templates/default-message-template.d.ts +6 -0
  101. package/dist/task-environment/delivery/feishu-templates/default-message-template.js +33 -0
  102. package/dist/task-environment/delivery/feishu-templates/default-message-template.js.map +1 -0
  103. package/dist/task-environment/delivery/feishu-templates/patch-message-template.d.ts +6 -0
  104. package/dist/task-environment/delivery/feishu-templates/patch-message-template.js +40 -0
  105. package/dist/task-environment/delivery/feishu-templates/patch-message-template.js.map +1 -0
  106. package/dist/task-environment/delivery/feishu-templates/template-registry.d.ts +2 -0
  107. package/dist/task-environment/delivery/feishu-templates/template-registry.js +11 -0
  108. package/dist/task-environment/delivery/feishu-templates/template-registry.js.map +1 -0
  109. package/dist/task-environment/delivery/feishu-templates/template-types.d.ts +20 -0
  110. package/dist/task-environment/delivery/feishu-templates/template-types.js +2 -0
  111. package/dist/task-environment/delivery/feishu-templates/template-types.js.map +1 -0
  112. package/dist/task-environment/delivery/task-delivery-dispatcher.d.ts +14 -0
  113. package/dist/task-environment/delivery/task-delivery-dispatcher.js +109 -0
  114. package/dist/task-environment/delivery/task-delivery-dispatcher.js.map +1 -0
  115. package/dist/task-environment/delivery/task-delivery-service.d.ts +33 -0
  116. package/dist/task-environment/delivery/task-delivery-service.js +432 -0
  117. package/dist/task-environment/delivery/task-delivery-service.js.map +1 -0
  118. package/dist/task-environment/delivery/task-publication-service.d.ts +97 -0
  119. package/dist/task-environment/delivery/task-publication-service.js +1369 -0
  120. package/dist/task-environment/delivery/task-publication-service.js.map +1 -0
  121. package/dist/task-environment/execution-addresses.d.ts +40 -0
  122. package/dist/task-environment/execution-addresses.js +63 -0
  123. package/dist/task-environment/execution-addresses.js.map +1 -0
  124. package/dist/task-environment/intake/cli-file-intake.d.ts +12 -0
  125. package/dist/task-environment/intake/cli-file-intake.js +56 -0
  126. package/dist/task-environment/intake/cli-file-intake.js.map +1 -0
  127. package/dist/task-environment/intake/manual-problem-intake.d.ts +3 -0
  128. package/dist/task-environment/intake/manual-problem-intake.js +57 -0
  129. package/dist/task-environment/intake/manual-problem-intake.js.map +1 -0
  130. package/dist/task-environment/intake/polling-problem-intake.d.ts +14 -0
  131. package/dist/task-environment/intake/polling-problem-intake.js +232 -0
  132. package/dist/task-environment/intake/polling-problem-intake.js.map +1 -0
  133. package/dist/task-environment/observability/logger.d.ts +76 -0
  134. package/dist/task-environment/observability/logger.js +604 -0
  135. package/dist/task-environment/observability/logger.js.map +1 -0
  136. package/dist/task-environment/observability/runtime-panel.d.ts +82 -0
  137. package/dist/task-environment/observability/runtime-panel.js +1008 -0
  138. package/dist/task-environment/observability/runtime-panel.js.map +1 -0
  139. package/dist/task-environment/observability/sound-notifier.d.ts +18 -0
  140. package/dist/task-environment/observability/sound-notifier.js +71 -0
  141. package/dist/task-environment/observability/sound-notifier.js.map +1 -0
  142. package/dist/task-environment/orchestration/execution-context-assembler.d.ts +41 -0
  143. package/dist/task-environment/orchestration/execution-context-assembler.js +464 -0
  144. package/dist/task-environment/orchestration/execution-context-assembler.js.map +1 -0
  145. package/dist/task-environment/orchestration/git-change-classifier.d.ts +19 -0
  146. package/dist/task-environment/orchestration/git-change-classifier.js +106 -0
  147. package/dist/task-environment/orchestration/git-change-classifier.js.map +1 -0
  148. package/dist/task-environment/orchestration/harness-registry.d.ts +27 -0
  149. package/dist/task-environment/orchestration/harness-registry.js +116 -0
  150. package/dist/task-environment/orchestration/harness-registry.js.map +1 -0
  151. package/dist/task-environment/orchestration/harness-resolver.d.ts +8 -0
  152. package/dist/task-environment/orchestration/harness-resolver.js +39 -0
  153. package/dist/task-environment/orchestration/harness-resolver.js.map +1 -0
  154. package/dist/task-environment/orchestration/task-orchestrator.d.ts +45 -0
  155. package/dist/task-environment/orchestration/task-orchestrator.js +1122 -0
  156. package/dist/task-environment/orchestration/task-orchestrator.js.map +1 -0
  157. package/dist/task-environment/orchestration/task-package-assembler.d.ts +4 -0
  158. package/dist/task-environment/orchestration/task-package-assembler.js +10 -0
  159. package/dist/task-environment/orchestration/task-package-assembler.js.map +1 -0
  160. package/dist/task-environment/orchestration/triage-agent.d.ts +54 -0
  161. package/dist/task-environment/orchestration/triage-agent.js +636 -0
  162. package/dist/task-environment/orchestration/triage-agent.js.map +1 -0
  163. package/dist/task-environment/orchestration/triage-runner.d.ts +65 -0
  164. package/dist/task-environment/orchestration/triage-runner.js +655 -0
  165. package/dist/task-environment/orchestration/triage-runner.js.map +1 -0
  166. package/dist/task-environment/publication-target.d.ts +12 -0
  167. package/dist/task-environment/publication-target.js +174 -0
  168. package/dist/task-environment/publication-target.js.map +1 -0
  169. package/dist/task-environment/runtime/blocking-event-queue.d.ts +7 -0
  170. package/dist/task-environment/runtime/blocking-event-queue.js +27 -0
  171. package/dist/task-environment/runtime/blocking-event-queue.js.map +1 -0
  172. package/dist/task-environment/runtime/optimus-runtime.d.ts +69 -0
  173. package/dist/task-environment/runtime/optimus-runtime.js +751 -0
  174. package/dist/task-environment/runtime/optimus-runtime.js.map +1 -0
  175. package/dist/task-environment/storage/sqlite-event-store.d.ts +52 -0
  176. package/dist/task-environment/storage/sqlite-event-store.js +288 -0
  177. package/dist/task-environment/storage/sqlite-event-store.js.map +1 -0
  178. package/dist/task-environment/storage/sqlite-task-store.d.ts +122 -0
  179. package/dist/task-environment/storage/sqlite-task-store.js +1182 -0
  180. package/dist/task-environment/storage/sqlite-task-store.js.map +1 -0
  181. package/dist/types.d.ts +629 -0
  182. package/dist/types.js +2 -0
  183. package/dist/types.js.map +1 -0
  184. package/embedded-skills/shared/repo-inspection/SKILL.md +9 -0
  185. package/embedded-skills/shared/repo-inspection/skill.json +5 -0
  186. package/embedded-skills/task/bugfix/android-debug-protocol/SKILL.md +10 -0
  187. package/embedded-skills/task/bugfix/android-debug-protocol/skill.json +6 -0
  188. package/harness/AGENTS.md +30 -0
  189. package/harness/CHECKLIST.md +44 -0
  190. package/harness/CONSTRAINTS.md +60 -0
  191. package/harness/FRAMEWORK.md +28 -0
  192. package/harness/GOAL.md +28 -0
  193. package/harness/HANDOFF.md +45 -0
  194. package/harness/TASK_PLAN.md +79 -0
  195. package/optimus.config.template.json +34 -0
  196. package/package.json +109 -0
  197. package/task-harnesses/bugfix/ACCEPT.md +47 -0
  198. package/task-harnesses/bugfix/CONSTRAINTS.md +46 -0
  199. package/task-harnesses/bugfix/CONTEXT.md +29 -0
  200. package/task-harnesses/bugfix/EVOLUTION.md +82 -0
  201. package/task-harnesses/bugfix/ROLE.md +29 -0
  202. package/task-harnesses/bugfix/STANDARD.md +250 -0
  203. package/task-harnesses/bugfix/manifest.json +13 -0
  204. package/task-harnesses/registry.json +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-publication-service.js","sourceRoot":"","sources":["../../../src/task-environment/delivery/task-publication-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { RepositoryExecutionMode, TaskExecutionContext, TaskPackage } from "../types.js";
2
+ export interface ExecutionAddresses {
3
+ mode: RepositoryExecutionMode;
4
+ workspaceDir: string;
5
+ sourceDir: string;
6
+ artifactDir: string;
7
+ repoRef: string;
8
+ }
9
+ interface CreateExecutionAddressesInput {
10
+ mode: RepositoryExecutionMode;
11
+ workspaceDir: string;
12
+ sourceDir: string;
13
+ artifactDir: string;
14
+ repoRef?: string;
15
+ }
16
+ export declare function createExecutionAddresses(input: CreateExecutionAddressesInput): ExecutionAddresses;
17
+ export declare function getExecutionAdditionalDirectories(addresses: ExecutionAddresses): string[];
18
+ export declare function getVisibleRepoDir(addresses: ExecutionAddresses): string | undefined;
19
+ export declare function buildExecutionTaskPackage(taskPackage: TaskPackage, addresses: ExecutionAddresses): TaskPackage;
20
+ export declare function buildExecutionContextPrompt(context: TaskExecutionContext): {
21
+ taskRootDir: string;
22
+ addresses: {
23
+ mode: ExecutionAddresses["mode"];
24
+ workspaceDir: string;
25
+ artifactDir: string;
26
+ repoRef: string;
27
+ visibleRepoDir?: string;
28
+ };
29
+ sandboxMode: TaskExecutionContext["sandboxMode"];
30
+ approvalPolicy: TaskExecutionContext["approvalPolicy"];
31
+ workspaceSkillMountDir?: string | null;
32
+ mountedSkills?: Array<{
33
+ id: string;
34
+ level: string;
35
+ sourceKind: string;
36
+ version: string;
37
+ }>;
38
+ allowedEvolutionSkillDir?: string | null;
39
+ };
40
+ export {};
@@ -0,0 +1,63 @@
1
+ // ExecutionAddresses is the single address contract shared by runtime and runners.
2
+ // It hides copy/inplace differences behind one stable shape so downstream code can consume addresses instead of branching on mode.
3
+ export function createExecutionAddresses(input) {
4
+ return {
5
+ mode: input.mode,
6
+ workspaceDir: input.workspaceDir,
7
+ sourceDir: input.sourceDir,
8
+ artifactDir: input.artifactDir,
9
+ repoRef: input.repoRef ?? input.sourceDir
10
+ };
11
+ }
12
+ export function getExecutionAdditionalDirectories(addresses) {
13
+ return addresses.mode === "inplace" ? [addresses.sourceDir] : [];
14
+ }
15
+ export function getVisibleRepoDir(addresses) {
16
+ return addresses.mode === "inplace" ? addresses.sourceDir : undefined;
17
+ }
18
+ function normalizePromptText(value) {
19
+ const trimmed = value?.trim();
20
+ if (!trimmed) {
21
+ return undefined;
22
+ }
23
+ return trimmed.replace(/\r\n/g, "\n");
24
+ }
25
+ export function buildExecutionTaskPackage(taskPackage, addresses) {
26
+ const repo = typeof taskPackage.repo === "string" && taskPackage.repo.trim().length > 0
27
+ ? addresses.repoRef
28
+ : taskPackage.repo;
29
+ const content = normalizePromptText(taskPackage.input.content) ?? taskPackage.input.content;
30
+ const { description: _description, ...restInput } = taskPackage.input;
31
+ return {
32
+ ...taskPackage,
33
+ ...(repo ? { repo } : {}),
34
+ input: {
35
+ ...restInput,
36
+ content
37
+ }
38
+ };
39
+ }
40
+ export function buildExecutionContextPrompt(context) {
41
+ const visibleRepoDir = getVisibleRepoDir(context.addresses);
42
+ return {
43
+ taskRootDir: context.taskRootDir,
44
+ addresses: {
45
+ mode: context.addresses.mode,
46
+ workspaceDir: context.addresses.workspaceDir,
47
+ artifactDir: context.addresses.artifactDir,
48
+ repoRef: context.addresses.repoRef,
49
+ ...(visibleRepoDir ? { visibleRepoDir } : {})
50
+ },
51
+ sandboxMode: context.sandboxMode,
52
+ approvalPolicy: context.approvalPolicy,
53
+ workspaceSkillMountDir: context.workspaceSkillMountDir ?? null,
54
+ mountedSkills: (context.mountedSkills ?? []).map((skill) => ({
55
+ id: skill.id,
56
+ level: skill.level,
57
+ sourceKind: skill.sourceKind,
58
+ version: skill.version
59
+ })),
60
+ allowedEvolutionSkillDir: context.allowedEvolutionSkillDir ?? null
61
+ };
62
+ }
63
+ //# sourceMappingURL=execution-addresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-addresses.js","sourceRoot":"","sources":["../../src/task-environment/execution-addresses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { RuntimeEvent } from "../../types.js";
2
+ export declare class CliFileIntake {
3
+ private readonly inboxDir;
4
+ constructor(inboxDir: string);
5
+ init(): Promise<void>;
6
+ listInboxFiles(): Promise<string[]>;
7
+ readEventFromFile(path: string): Promise<RuntimeEvent>;
8
+ deleteInboxFile(path: string): Promise<void>;
9
+ buildInboxFilePath(): string;
10
+ getSignalPath(): string;
11
+ touchSignal(): Promise<void>;
12
+ }
@@ -0,0 +1,56 @@
1
+ import { mkdir, readFile, readdir, rm, stat, utimes, writeFile } from "node:fs/promises";
2
+ import { basename, join } from "node:path";
3
+ export class CliFileIntake {
4
+ inboxDir;
5
+ constructor(inboxDir) {
6
+ this.inboxDir = inboxDir;
7
+ }
8
+ // Inbox initialization creates both the drop directory and the watcher signal file.
9
+ async init() {
10
+ await mkdir(this.inboxDir, { recursive: true });
11
+ try {
12
+ await stat(this.getSignalPath());
13
+ }
14
+ catch {
15
+ await writeFile(this.getSignalPath(), "signal", "utf8");
16
+ }
17
+ }
18
+ async listInboxFiles() {
19
+ const entries = await readdir(this.inboxDir, { withFileTypes: true });
20
+ return entries
21
+ .filter((entry) => entry.isFile() && entry.name.endsWith(".json"))
22
+ .map((entry) => join(this.inboxDir, entry.name))
23
+ .sort();
24
+ }
25
+ // Inbox files are normalized into raw runtime events at the edge of the system.
26
+ async readEventFromFile(path) {
27
+ const raw = await readFile(path, "utf8");
28
+ const payload = JSON.parse(raw);
29
+ const content = payload.content;
30
+ if (!content || typeof content.content !== "string") {
31
+ throw new Error(`Missing content in inbox file ${basename(path)}`);
32
+ }
33
+ const stableEventId = payload.eventId?.trim() || `event-${basename(path, ".json")}`;
34
+ return {
35
+ eventId: stableEventId,
36
+ type: payload.type ?? "task.submitted_manually",
37
+ content,
38
+ createdAt: payload.createdAt?.trim() || new Date().toISOString()
39
+ };
40
+ }
41
+ async deleteInboxFile(path) {
42
+ await rm(path, { force: true });
43
+ }
44
+ buildInboxFilePath() {
45
+ return join(this.inboxDir, `submit-${Date.now()}-${Math.random().toString(36).slice(2, 8)}.json`);
46
+ }
47
+ getSignalPath() {
48
+ return join(this.inboxDir, "inbox.signal");
49
+ }
50
+ // Touching the signal file lets runtime watchers react without scanning the whole inbox.
51
+ async touchSignal() {
52
+ const now = new Date();
53
+ await utimes(this.getSignalPath(), now, now);
54
+ }
55
+ }
56
+ //# sourceMappingURL=cli-file-intake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-file-intake.js","sourceRoot":"","sources":["../../../src/task-environment/intake/cli-file-intake.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { RuntimeEvent, RuntimeEventContent } from "../../types.js";
2
+ export declare function createManualEventContent(args: Record<string, string>): RuntimeEventContent;
3
+ export declare function createManualProblemEvent(args: Record<string, string>): Omit<RuntimeEvent, "eventId" | "createdAt">;
@@ -0,0 +1,57 @@
1
+ // Manual submissions only build raw runtime events.
2
+ // Task understanding is deferred to triage instead of being hard-coded at intake time.
3
+ export function createManualEventContent(args) {
4
+ const title = (args.title ?? "").trim();
5
+ const description = (args.desc ?? args.description ?? "").trim();
6
+ const content = [title, description, args.repro, args.logs].filter(Boolean).join("\n\n").trim();
7
+ const metadata = {};
8
+ if (args.expected) {
9
+ metadata.expectedResult = args.expected;
10
+ }
11
+ if (args.actual) {
12
+ metadata.actualResult = args.actual;
13
+ }
14
+ if (args.env) {
15
+ metadata.envInfo = args.env;
16
+ }
17
+ if (args.repro) {
18
+ metadata.reproSteps = args.repro;
19
+ }
20
+ if (args.logs) {
21
+ metadata.logs = args.logs;
22
+ }
23
+ if (args["task-type"]) {
24
+ metadata.taskTypeHint = args["task-type"];
25
+ }
26
+ if (args["allow-duplicate"] === "true") {
27
+ // Manual replay mode intentionally disables title-based idempotency so the same real case can be resubmitted.
28
+ metadata.allowDuplicate = true;
29
+ }
30
+ const qAssignee = {
31
+ ...(args["q-assignee-display-name"] ? { displayName: args["q-assignee-display-name"] } : {}),
32
+ ...(args["q-assignee-login"] ? { login: args["q-assignee-login"] } : {}),
33
+ ...(args["q-assignee-email"] ? { email: args["q-assignee-email"] } : {}),
34
+ ...(args["q-assignee-open-id"] ? { openId: args["q-assignee-open-id"] } : {}),
35
+ ...(args["q-assignee-resolved-by"] ? { resolvedBy: args["q-assignee-resolved-by"] } : {})
36
+ };
37
+ if (Object.keys(qAssignee).length > 0) {
38
+ metadata.qAssignee = qAssignee;
39
+ }
40
+ return {
41
+ source: "manual",
42
+ ...(args.sourceRef ? { sourceRef: args.sourceRef } : {}),
43
+ title,
44
+ ...(description ? { description } : {}),
45
+ content,
46
+ ...(args.repo ? { repo: args.repo } : {}),
47
+ ...(args.branch ? { branch: args.branch } : {}),
48
+ ...(Object.keys(metadata).length > 0 ? { metadata } : {})
49
+ };
50
+ }
51
+ export function createManualProblemEvent(args) {
52
+ return {
53
+ type: "task.submitted_manually",
54
+ content: createManualEventContent(args)
55
+ };
56
+ }
57
+ //# sourceMappingURL=manual-problem-intake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manual-problem-intake.js","sourceRoot":"","sources":["../../../src/task-environment/intake/manual-problem-intake.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { OptimusConfig, PollingEnqueueResult, PollingIntakeSourceConfig, RuntimeEvent } from "../../types.js";
2
+ import { BlockingEventQueue } from "../runtime/blocking-event-queue.js";
3
+ import { SQLiteEventStore } from "../storage/sqlite-event-store.js";
4
+ export declare class PollingProblemIntake {
5
+ private readonly eventQueue;
6
+ private readonly eventStore;
7
+ private readonly config;
8
+ private readonly adapters;
9
+ constructor(eventQueue: BlockingEventQueue<RuntimeEvent>, eventStore: SQLiteEventStore, config: OptimusConfig);
10
+ pollAndEnqueue(source: PollingIntakeSourceConfig): Promise<PollingEnqueueResult>;
11
+ listConfiguredSources(): PollingIntakeSourceConfig[];
12
+ listEnabledSources(): PollingIntakeSourceConfig[];
13
+ private createRuntimeEvent;
14
+ }
@@ -0,0 +1,232 @@
1
+ import { createHash } from "node:crypto";
2
+ import { readFile, rm } from "node:fs/promises";
3
+ class NoopPollingSourceAdapter {
4
+ async poll(source, checkpoint) {
5
+ void source;
6
+ void checkpoint;
7
+ return [];
8
+ }
9
+ }
10
+ // sample_file stays as a one-shot fixture adapter for tests and local debugging.
11
+ class SampleFilePollingSourceAdapter {
12
+ async poll(source, checkpoint) {
13
+ const records = await readJsonRecords(resolveJsonInputPath(source, "sampleFile"));
14
+ void checkpoint;
15
+ await rm(source.sampleFile, { force: true });
16
+ return records.map((entry, index) => normalizeSourceRecord(source, entry, index));
17
+ }
18
+ }
19
+ // json_file is the first reusable static adapter for turning platform snapshots into stable polling input.
20
+ class JsonFilePollingSourceAdapter {
21
+ async poll(source, checkpoint) {
22
+ const records = await readJsonRecords(resolveJsonInputPath(source, "jsonFile"));
23
+ void checkpoint;
24
+ if (source.removeAfterRead) {
25
+ await rm(source.jsonFile, { force: true });
26
+ }
27
+ return records.map((entry, index) => normalizeSourceRecord(source, entry, index));
28
+ }
29
+ }
30
+ export class PollingProblemIntake {
31
+ eventQueue;
32
+ eventStore;
33
+ config;
34
+ adapters = new Map([
35
+ ["noop", new NoopPollingSourceAdapter()],
36
+ ["sample_file", new SampleFilePollingSourceAdapter()],
37
+ ["json_file", new JsonFilePollingSourceAdapter()]
38
+ ]);
39
+ constructor(eventQueue, eventStore, config) {
40
+ this.eventQueue = eventQueue;
41
+ this.eventStore = eventStore;
42
+ this.config = config;
43
+ }
44
+ // Polling intake converts external source records into deduplicated runtime events and records source identities for future polls.
45
+ async pollAndEnqueue(source) {
46
+ const adapter = this.adapters.get(source.type);
47
+ if (!adapter) {
48
+ throw new Error(`Unsupported polling source type: ${source.type}`);
49
+ }
50
+ const checkpoint = await this.eventStore.getPollerCheckpoint(source.id);
51
+ const records = await adapter.poll(source, checkpoint);
52
+ let acceptedCount = 0;
53
+ let duplicateCount = 0;
54
+ let updatedCount = 0;
55
+ let skippedCount = 0;
56
+ for (const record of records) {
57
+ if (!record.sourceRecordId || !record.contentFingerprint) {
58
+ skippedCount += 1;
59
+ continue;
60
+ }
61
+ const event = this.createRuntimeEvent(record);
62
+ const previous = await this.eventStore.getSourceRecord(record.pollerId, record.sourceRecordId);
63
+ const dedup = await this.eventStore.upsertSourceRecord({
64
+ pollerId: record.pollerId,
65
+ sourceRecordId: record.sourceRecordId,
66
+ contentFingerprint: record.contentFingerprint,
67
+ eventId: event.eventId
68
+ });
69
+ if (!dedup.accepted) {
70
+ duplicateCount += 1;
71
+ continue;
72
+ }
73
+ if (previous) {
74
+ updatedCount += 1;
75
+ }
76
+ this.eventQueue.push(event);
77
+ acceptedCount += 1;
78
+ }
79
+ return {
80
+ pollerId: source.id,
81
+ acceptedCount,
82
+ duplicateCount,
83
+ updatedCount,
84
+ skippedCount,
85
+ checkpoint: buildCheckpoint(records, acceptedCount, duplicateCount, updatedCount, skippedCount)
86
+ };
87
+ }
88
+ listConfiguredSources() {
89
+ const configured = this.config.intake.pollingSources ?? [];
90
+ if (configured.length > 0) {
91
+ return configured;
92
+ }
93
+ if (!this.config.intake.pollingEnabled) {
94
+ return [];
95
+ }
96
+ return [{
97
+ id: "default-polling-source",
98
+ type: this.config.intake.pollingProvider,
99
+ enabled: true,
100
+ intervalMs: this.config.intake.pollingIntervalMs,
101
+ ...(this.config.intake.pollingSampleFile
102
+ ? this.config.intake.pollingProvider === "json_file"
103
+ ? { jsonFile: this.config.intake.pollingSampleFile, removeAfterRead: false }
104
+ : { sampleFile: this.config.intake.pollingSampleFile }
105
+ : {}),
106
+ eventType: "problem.discovered"
107
+ }];
108
+ }
109
+ listEnabledSources() {
110
+ return this.listConfiguredSources().filter((source) => source.enabled);
111
+ }
112
+ createRuntimeEvent(record) {
113
+ const eventId = buildRuntimeEventId(record.pollerId, record.sourceRecordId, record.contentFingerprint);
114
+ return {
115
+ eventId,
116
+ type: record.eventType,
117
+ content: {
118
+ ...record.content,
119
+ sourceRecordId: record.sourceRecordId,
120
+ contentFingerprint: record.contentFingerprint
121
+ },
122
+ createdAt: new Date().toISOString()
123
+ };
124
+ }
125
+ }
126
+ function buildCheckpoint(records, acceptedCount, duplicateCount, updatedCount, skippedCount) {
127
+ const lastRecord = records.at(-1);
128
+ return {
129
+ ...(lastRecord?.sourceRecordId ? { lastSourceRecordId: lastRecord.sourceRecordId } : {}),
130
+ observedAt: new Date().toISOString(),
131
+ acceptedCount,
132
+ duplicateCount,
133
+ updatedCount,
134
+ skippedCount
135
+ };
136
+ }
137
+ function normalizeSourceRecord(source, entry, index) {
138
+ const content = normalizeRuntimeEventContent(source, entry);
139
+ const sourceRecordId = resolveSourceRecordId(source, entry, index, content);
140
+ const contentFingerprint = buildContentFingerprint(content);
141
+ return {
142
+ pollerId: source.id,
143
+ sourceRecordId,
144
+ contentFingerprint,
145
+ eventType: resolveSourceEventType(source),
146
+ content
147
+ };
148
+ }
149
+ function normalizeRuntimeEventContent(source, entry) {
150
+ const title = readOptionalString(entry.title);
151
+ const description = readOptionalString(entry.description);
152
+ const content = readOptionalString(entry.content) ?? description ?? title ?? "";
153
+ const sourceRef = readOptionalString(entry.sourceRef) ?? readOptionalString(entry.id) ?? title ?? undefined;
154
+ const repo = readOptionalString(entry.repo) ?? source.defaultRepo;
155
+ const metadata = {
156
+ pollerId: source.id,
157
+ sourceType: source.type,
158
+ rawRecord: entry,
159
+ ...buildAutomationMetadata(source)
160
+ };
161
+ return {
162
+ source: "polling",
163
+ ...(sourceRef ? { sourceRef } : {}),
164
+ ...(title ? { title } : {}),
165
+ ...(description ? { description } : {}),
166
+ content,
167
+ ...(repo ? { repo } : {}),
168
+ metadata
169
+ };
170
+ }
171
+ function buildAutomationMetadata(source) {
172
+ if (!source.automation?.enabled) {
173
+ return {};
174
+ }
175
+ return {
176
+ ...(source.automation.taskTypeHint ? { taskTypeHint: source.automation.taskTypeHint } : {}),
177
+ ...(source.automation.metadata ? source.automation.metadata : {})
178
+ };
179
+ }
180
+ function resolveSourceRecordId(source, entry, index, content) {
181
+ const explicit = readOptionalString(entry.sourceRecordId) ?? readOptionalString(entry.id) ?? readOptionalString(entry.sourceRef);
182
+ if (explicit) {
183
+ return `${source.id}:${explicit}`;
184
+ }
185
+ const fallbackSeed = [content.title ?? "", content.description ?? "", content.content, String(index)].join("\n");
186
+ return `${source.id}:${createHash("sha256").update(fallbackSeed).digest("hex")}`;
187
+ }
188
+ function resolveSourceEventType(source) {
189
+ return source.eventType ?? "problem.discovered";
190
+ }
191
+ function buildContentFingerprint(content) {
192
+ const normalized = [
193
+ normalizeFingerprintField(content.title),
194
+ normalizeFingerprintField(content.description),
195
+ normalizeFingerprintField(content.content),
196
+ normalizeFingerprintField(content.repo),
197
+ normalizeFingerprintField(content.branch)
198
+ ].join("\n");
199
+ return createHash("sha256").update(normalized).digest("hex");
200
+ }
201
+ function normalizeFingerprintField(value) {
202
+ if (!value) {
203
+ return "";
204
+ }
205
+ return value.replace(/\s+/g, " ").trim().toLowerCase();
206
+ }
207
+ function buildRuntimeEventId(pollerId, sourceRecordId, contentFingerprint) {
208
+ const digest = createHash("sha256")
209
+ .update([pollerId, sourceRecordId, contentFingerprint].join("\n"))
210
+ .digest("hex")
211
+ .slice(0, 16);
212
+ return `event-${digest}`;
213
+ }
214
+ function readOptionalString(value) {
215
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
216
+ }
217
+ function resolveJsonInputPath(source, key) {
218
+ const path = source[key];
219
+ if (!path) {
220
+ throw new Error(`${key} is required for poller ${source.id}`);
221
+ }
222
+ return path;
223
+ }
224
+ async function readJsonRecords(path) {
225
+ const raw = await readFile(path, "utf8");
226
+ const parsed = JSON.parse(raw);
227
+ if (!Array.isArray(parsed)) {
228
+ throw new Error(`Polling source file ${path} must contain a JSON array.`);
229
+ }
230
+ return parsed.filter((entry) => typeof entry === "object" && entry !== null);
231
+ }
232
+ //# sourceMappingURL=polling-problem-intake.js.map