@sireai/optimus 0.1.45 → 0.1.46

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 (92) hide show
  1. package/dist/cli/feedback-delivery.js +13 -8
  2. package/dist/cli/feedback-delivery.js.map +1 -1
  3. package/dist/cli/optimus.js +370 -63
  4. package/dist/cli/optimus.js.map +1 -1
  5. package/dist/integrations/feishu/feishu-client.d.ts +13 -0
  6. package/dist/integrations/feishu/feishu-client.js +111 -6
  7. package/dist/integrations/feishu/feishu-client.js.map +1 -1
  8. package/dist/integrations/feishu/feishu-reference-material-downloader.d.ts +34 -0
  9. package/dist/integrations/feishu/feishu-reference-material-downloader.js +572 -0
  10. package/dist/integrations/feishu/feishu-reference-material-downloader.js.map +1 -0
  11. package/dist/integrations/feishu/feishu-token-store.d.ts +25 -1
  12. package/dist/integrations/feishu/feishu-token-store.js +148 -4
  13. package/dist/integrations/feishu/feishu-token-store.js.map +1 -1
  14. package/dist/integrations/feishu/feishu-user-auth-service.d.ts +39 -0
  15. package/dist/integrations/feishu/feishu-user-auth-service.js +228 -0
  16. package/dist/integrations/feishu/feishu-user-auth-service.js.map +1 -0
  17. package/dist/integrations/jira/jira-cli.js +127 -19
  18. package/dist/integrations/jira/jira-cli.js.map +1 -1
  19. package/dist/task-environment/delivery/commit-message/coder-commit-message-template.d.ts +12 -0
  20. package/dist/task-environment/delivery/commit-message/coder-commit-message-template.js +105 -0
  21. package/dist/task-environment/delivery/commit-message/coder-commit-message-template.js.map +1 -0
  22. package/dist/task-environment/delivery/commit-message/commit-message-builder.js +2 -1
  23. package/dist/task-environment/delivery/commit-message/commit-message-builder.js.map +1 -1
  24. package/dist/task-environment/delivery/feishu-analysis-doc-service.d.ts +6 -0
  25. package/dist/task-environment/delivery/feishu-analysis-doc-service.js +106 -34
  26. package/dist/task-environment/delivery/feishu-analysis-doc-service.js.map +1 -1
  27. package/dist/task-environment/delivery/feishu-content/feishu-content-renderer.js +16 -1
  28. package/dist/task-environment/delivery/feishu-content/feishu-content-renderer.js.map +1 -1
  29. package/dist/task-environment/delivery/feishu-content/feishu-copy-config.d.ts +6 -0
  30. package/dist/task-environment/delivery/feishu-content/feishu-copy-config.js +19 -0
  31. package/dist/task-environment/delivery/feishu-content/feishu-copy-config.js.map +1 -1
  32. package/dist/task-environment/delivery/feishu-notifier.js +8 -8
  33. package/dist/task-environment/delivery/feishu-notifier.js.map +1 -1
  34. package/dist/task-environment/delivery/feishu-templates/coder-message-template.d.ts +6 -0
  35. package/dist/task-environment/delivery/feishu-templates/coder-message-template.js +58 -0
  36. package/dist/task-environment/delivery/feishu-templates/coder-message-template.js.map +1 -0
  37. package/dist/task-environment/delivery/feishu-templates/template-registry.js +2 -0
  38. package/dist/task-environment/delivery/feishu-templates/template-registry.js.map +1 -1
  39. package/dist/task-environment/delivery/task-delivery-dispatcher.js +6 -0
  40. package/dist/task-environment/delivery/task-delivery-dispatcher.js.map +1 -1
  41. package/dist/task-environment/delivery/task-delivery-service.d.ts +1 -0
  42. package/dist/task-environment/delivery/task-delivery-service.js +124 -8
  43. package/dist/task-environment/delivery/task-delivery-service.js.map +1 -1
  44. package/dist/task-environment/delivery/task-publication-service.js +9 -6
  45. package/dist/task-environment/delivery/task-publication-service.js.map +1 -1
  46. package/dist/task-environment/document-input/document-structure.d.ts +13 -0
  47. package/dist/task-environment/document-input/document-structure.js +438 -0
  48. package/dist/task-environment/document-input/document-structure.js.map +1 -0
  49. package/dist/task-environment/intake/manual-problem-intake.js +36 -0
  50. package/dist/task-environment/intake/manual-problem-intake.js.map +1 -1
  51. package/dist/task-environment/observability/logger.d.ts +1 -0
  52. package/dist/task-environment/observability/logger.js +26 -0
  53. package/dist/task-environment/observability/logger.js.map +1 -1
  54. package/dist/task-environment/observability/runtime-panel.js +10 -1
  55. package/dist/task-environment/observability/runtime-panel.js.map +1 -1
  56. package/dist/task-environment/orchestration/reference-material-relocator.d.ts +2 -0
  57. package/dist/task-environment/orchestration/reference-material-relocator.js +69 -0
  58. package/dist/task-environment/orchestration/reference-material-relocator.js.map +1 -0
  59. package/dist/task-environment/orchestration/task-orchestrator.d.ts +3 -0
  60. package/dist/task-environment/orchestration/task-orchestrator.js +182 -8
  61. package/dist/task-environment/orchestration/task-orchestrator.js.map +1 -1
  62. package/dist/task-environment/orchestration/task-package-inputs.js +7 -1
  63. package/dist/task-environment/orchestration/task-package-inputs.js.map +1 -1
  64. package/dist/task-environment/orchestration/task-runtime-policy.js +11 -0
  65. package/dist/task-environment/orchestration/task-runtime-policy.js.map +1 -1
  66. package/dist/task-environment/orchestration/triage-runner.js +3 -0
  67. package/dist/task-environment/orchestration/triage-runner.js.map +1 -1
  68. package/dist/task-environment/runtime/optimus-runtime.js +3 -0
  69. package/dist/task-environment/runtime/optimus-runtime.js.map +1 -1
  70. package/dist/task-environment/storage/sqlite-task-store.d.ts +4 -0
  71. package/dist/task-environment/storage/sqlite-task-store.js +70 -1
  72. package/dist/task-environment/storage/sqlite-task-store.js.map +1 -1
  73. package/dist/task-environment/task-handler-descriptor.d.ts +5 -0
  74. package/dist/task-environment/task-handler-descriptor.js +15 -0
  75. package/dist/task-environment/task-handler-descriptor.js.map +1 -0
  76. package/dist/types.d.ts +47 -1
  77. package/embedded-skills/shared/feishu-task-inputs/SKILL.md +56 -0
  78. package/embedded-skills/shared/feishu-task-inputs/scripts/fetch-feishu-doc.mjs +756 -0
  79. package/embedded-skills/shared/feishu-task-inputs/skill.json +5 -0
  80. package/package.json +4 -1
  81. package/task-harnesses/coder/ACCEPT.md +73 -0
  82. package/task-harnesses/coder/CONSTRAINTS.md +72 -0
  83. package/task-harnesses/coder/CONTEXT.md +36 -0
  84. package/task-harnesses/coder/EVOLUTION.md +83 -0
  85. package/task-harnesses/coder/ROLE.md +39 -0
  86. package/task-harnesses/coder/STANDARD.md +258 -0
  87. package/task-harnesses/coder/manifest.json +13 -0
  88. package/task-harnesses/pm/ACCEPT.md +7 -0
  89. package/task-harnesses/pm/CONSTRAINTS.md +5 -0
  90. package/task-harnesses/pm/ROLE.md +5 -4
  91. package/task-harnesses/pm/STANDARD.md +31 -1
  92. package/task-harnesses/registry.json +4 -0
@@ -0,0 +1,15 @@
1
+ const TASK_HANDLER_LABELS = {
2
+ bugfix: "Bugfix Engineer",
3
+ coder: "Main Implementation Agent",
4
+ pm: "PM Prototype Builder"
5
+ };
6
+ export function resolveTaskHandlerDescriptor(taskType) {
7
+ const normalizedTaskType = typeof taskType === "string" && taskType.trim().length > 0
8
+ ? taskType.trim()
9
+ : "unknown";
10
+ return {
11
+ taskType: normalizedTaskType,
12
+ handler: TASK_HANDLER_LABELS[normalizedTaskType] ?? "Task Agent"
13
+ };
14
+ }
15
+ //# sourceMappingURL=task-handler-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-handler-descriptor.js","sourceRoot":"","sources":["../../src/task-environment/task-handler-descriptor.ts"],"names":[],"mappings":"AAKA,MAAM,mBAAmB,GAA2B;IAClD,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,2BAA2B;IAClC,EAAE,EAAE,sBAAsB;CAC3B,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,QAA4B;IACvE,MAAM,kBAAkB,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACnF,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjB,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,YAAY;KACjE,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -114,6 +114,49 @@ export interface TaskInputReferenceMaterial {
114
114
  token?: string;
115
115
  mimeType?: string;
116
116
  sourceType?: string;
117
+ localPath?: string;
118
+ downloadStatus?: "downloaded" | "skipped" | "failed";
119
+ downloadError?: string;
120
+ assetId?: string;
121
+ order?: number;
122
+ anchorHeading?: string;
123
+ sectionPath?: string[];
124
+ nearbyTextBefore?: string;
125
+ nearbyTextAfter?: string;
126
+ }
127
+ export interface TaskInputDocumentMapNode {
128
+ nodeId: string;
129
+ type: "heading" | "paragraph" | "table" | "code" | "image" | "file" | "whiteboard" | "sheet" | "bitable" | "link" | "note" | "divider" | "unknown";
130
+ order: number;
131
+ text?: string;
132
+ title?: string;
133
+ level?: number;
134
+ assetId?: string;
135
+ sectionPath?: string[];
136
+ }
137
+ export interface TaskInputDocumentMap {
138
+ version: "1";
139
+ title?: string;
140
+ sourceUrl?: string;
141
+ nodes: TaskInputDocumentMapNode[];
142
+ }
143
+ export interface TaskInputEvidenceBundle {
144
+ assetId: string;
145
+ type: TaskInputReferenceMaterial["type"];
146
+ title: string;
147
+ order: number;
148
+ nodeId?: string;
149
+ token?: string;
150
+ url?: string;
151
+ mimeType?: string;
152
+ localPath?: string;
153
+ sourceType?: string;
154
+ downloadStatus?: TaskInputReferenceMaterial["downloadStatus"];
155
+ downloadError?: string;
156
+ anchorHeading?: string;
157
+ sectionPath?: string[];
158
+ nearbyTextBefore?: string;
159
+ nearbyTextAfter?: string;
117
160
  }
118
161
  export type PmTaskInputReferenceMaterial = TaskInputReferenceMaterial;
119
162
  export interface PmTaskInput {
@@ -246,7 +289,7 @@ export interface TaskArtifact {
246
289
  path: string;
247
290
  createdAt: string;
248
291
  }
249
- export type DeliveryOutcome = "analysis_only" | "repair_candidate" | "verified_fix" | "canceled" | "failed";
292
+ export type DeliveryOutcome = "analysis_only" | "repair_candidate" | "verified_fix" | "needs_human" | "canceled" | "failed";
250
293
  export type TaskPublicationReviewSystemType = "gerrit" | "github" | "unknown" | "mixed";
251
294
  export type TaskPublicationReviewStrategy = "gerrit_change" | "github_pr" | "manual";
252
295
  export interface TaskPublicationReviewSystem {
@@ -335,6 +378,9 @@ export interface TaskDeliveryBundle {
335
378
  analysisDocUrl?: string;
336
379
  prototypePreviewUrl?: string;
337
380
  prototypeDownloadUrl?: string;
381
+ reviewStatus?: "approved" | "changes_requested" | "missing";
382
+ reviewVerdict?: string;
383
+ reviewRounds?: number;
338
384
  risk?: string;
339
385
  nextAction?: string;
340
386
  };
@@ -0,0 +1,56 @@
1
+ # Feishu Task Inputs
2
+
3
+ Use this skill during agent execution when task content references Feishu doc/wiki material.
4
+
5
+ ## Execution Boundary
6
+
7
+ - `submit` may already localize Feishu inputs.
8
+ - execution-time agents use this skill only when required Feishu content is still missing.
9
+ - this skill is for main agents and subagents, not for submit implementation.
10
+
11
+ ## Source Priority
12
+
13
+ Prefer existing localized task inputs first:
14
+
15
+ - main task text
16
+ - `referenceMaterials`
17
+ - `documentMap`
18
+ - local attachment paths
19
+ - local image paths
20
+ - evidence bundles generated during submit
21
+
22
+ ## Command
23
+
24
+ If required Feishu content is missing from localized inputs, fetch it with:
25
+
26
+ ```bash
27
+ node .agents/skills/feishu-task-inputs/scripts/fetch-feishu-doc.mjs \
28
+ --url <feishu-doc-or-wiki-url> \
29
+ --output-dir <artifactDir>/feishu-reference
30
+ ```
31
+
32
+ ## Output
33
+
34
+ - `content.md`: rendered document content
35
+ - `manifest.json`: title, source metadata, and localized reference materials
36
+ - `attachments/`: downloaded images and files referenced by the fetched document
37
+
38
+ ## Required Behavior
39
+
40
+ - Read local paths first; do not re-fetch when task inputs already contain the needed evidence.
41
+ - Preserve structure with `documentMap`, nearby text, fetched `content.md`, and localized attachments.
42
+ - After running the command, read results from the exact `--output-dir` you chose.
43
+ - If required content still cannot be fetched, stop with `needs_human`.
44
+
45
+ ## Do Not Use
46
+
47
+ - local `feishu` CLI
48
+ - local `lark-*` skills
49
+ - user machine auth state outside Optimus
50
+ - raw Feishu URLs as an execution-time dependency
51
+
52
+ ## Quick Checks
53
+
54
+ - Confirm every required attachment exists at a local path before relying on it.
55
+ - Keep image-to-text pairing intact when deriving requirements.
56
+ - Cite local artifact paths, not remote Feishu URLs.