@mastra/factory 0.12.0-alpha.3 → 0.12.0-alpha.5

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 (51) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/dist/factory.d.ts.map +1 -1
  3. package/dist/factory.js +7 -0
  4. package/dist/factory.js.map +1 -1
  5. package/dist/integrations/github/commits.d.ts +29 -0
  6. package/dist/integrations/github/commits.d.ts.map +1 -0
  7. package/dist/integrations/github/commits.js +29 -0
  8. package/dist/integrations/github/commits.js.map +1 -0
  9. package/dist/integrations/github/routes.d.ts.map +1 -1
  10. package/dist/integrations/github/routes.js +35 -0
  11. package/dist/integrations/github/routes.js.map +1 -1
  12. package/dist/routes/projects.d.ts.map +1 -1
  13. package/dist/routes/projects.js +4 -0
  14. package/dist/routes/projects.js.map +1 -1
  15. package/dist/routes/skills.d.ts.map +1 -1
  16. package/dist/routes/skills.js +9 -3
  17. package/dist/routes/skills.js.map +1 -1
  18. package/dist/routes/surface.d.ts +0 -7
  19. package/dist/routes/surface.d.ts.map +1 -1
  20. package/dist/routes/surface.js +20 -2
  21. package/dist/routes/surface.js.map +1 -1
  22. package/dist/routes/work-items.d.ts.map +1 -1
  23. package/dist/routes/work-items.js +1 -0
  24. package/dist/routes/work-items.js.map +1 -1
  25. package/dist/rules/dispatch-errors.d.ts.map +1 -1
  26. package/dist/rules/dispatch-errors.js +8 -0
  27. package/dist/rules/dispatch-errors.js.map +1 -1
  28. package/dist/rules/dispatcher.d.ts +5 -0
  29. package/dist/rules/dispatcher.d.ts.map +1 -1
  30. package/dist/rules/dispatcher.js +101 -52
  31. package/dist/rules/dispatcher.js.map +1 -1
  32. package/dist/rules/start-coordinator.d.ts +2 -0
  33. package/dist/rules/start-coordinator.d.ts.map +1 -1
  34. package/dist/rules/start-coordinator.js +6 -1
  35. package/dist/rules/start-coordinator.js.map +1 -1
  36. package/dist/skills/service.d.ts +2 -1
  37. package/dist/skills/service.d.ts.map +1 -1
  38. package/dist/skills/service.js +5 -2
  39. package/dist/skills/service.js.map +1 -1
  40. package/dist/storage/domains/projects/base.d.ts +3 -0
  41. package/dist/storage/domains/projects/base.d.ts.map +1 -1
  42. package/dist/storage/domains/projects/base.js +7 -0
  43. package/dist/storage/domains/projects/base.js.map +1 -1
  44. package/dist/storage/domains/source-control/inmemory.d.ts.map +1 -1
  45. package/dist/storage/domains/source-control/inmemory.js +5 -1
  46. package/dist/storage/domains/source-control/inmemory.js.map +1 -1
  47. package/dist/storage/domains/work-items/base.d.ts +9 -1
  48. package/dist/storage/domains/work-items/base.d.ts.map +1 -1
  49. package/dist/storage/domains/work-items/base.js +18 -1
  50. package/dist/storage/domains/work-items/base.js.map +1 -1
  51. package/package.json +6 -6
@@ -43,6 +43,8 @@ const FACTORY_DISPATCH_FAILURE_CODES = [
43
43
  "source_repository_missing",
44
44
  "unsupported_provider_item",
45
45
  "notification_delivery_failed",
46
+ "plan_awaiting_approval",
47
+ "run_awaiting_input",
46
48
  "repository_git_missing",
47
49
  "repository_egress_blocked",
48
50
  "repository_clone_failed",
@@ -127,6 +129,10 @@ const WORK_ITEMS_SCHEMA = {
127
129
  type: "timestamp",
128
130
  nullable: true
129
131
  },
132
+ plans_preapproved_at: {
133
+ type: "timestamp",
134
+ nullable: true
135
+ },
130
136
  comment_count: {
131
137
  type: "integer",
132
138
  default: 0
@@ -195,6 +201,7 @@ function toWorkItem(row) {
195
201
  metadata: row.metadata,
196
202
  triageType: row.triage_type ?? null,
197
203
  autonomyArmedAt: row.autonomy_armed_at ?? null,
204
+ plansPreapprovedAt: row.plans_preapproved_at ?? null,
198
205
  commentCount: row.comment_count ?? 0,
199
206
  feedActivityAt: row.feed_activity_at ?? null,
200
207
  revision: row.revision,
@@ -599,6 +606,10 @@ const FACTORY_GOVERNANCE_SCHEMAS = [
599
606
  type: "text",
600
607
  nullable: true
601
608
  },
609
+ failure_code: {
610
+ type: "text",
611
+ nullable: true
612
+ },
602
613
  completed_at: {
603
614
  type: "timestamp",
604
615
  nullable: true
@@ -711,6 +722,7 @@ function toPendingStart(row) {
711
722
  leaseOwner: row.lease_owner ?? null,
712
723
  leaseExpiresAt: row.lease_expires_at ?? null,
713
724
  lastError: row.last_error ?? null,
725
+ failureCode: row.failure_code ?? null,
714
726
  completedAt: row.completed_at ?? null,
715
727
  createdAt: row.created_at,
716
728
  updatedAt: row.updated_at
@@ -844,7 +856,7 @@ var WorkItemsStorage = class extends FactoryStorageDomain {
844
856
  lease_owner: null,
845
857
  lease_expires_at: null,
846
858
  last_error: input.lastError,
847
- ...table === "factory_deferred_decisions" ? { failure_code: input.failureCode } : {},
859
+ failure_code: input.failureCode,
848
860
  completed_at: input.terminal ? input.now : null,
849
861
  ...table === "factory_deferred_decisions" && input.terminal ? { failure_occurrence: Number(current.failure_occurrence ?? 0) + 1 } : {},
850
862
  updated_at: input.now
@@ -1883,6 +1895,10 @@ var WorkItemsStorage = class extends FactoryStorageDomain {
1883
1895
  const armedRow = await ops.updateAtomic("work_items", { id: item.id }, (current) => current.autonomy_armed_at ? null : { autonomy_armed_at: now });
1884
1896
  if (armedRow) item = toRow(armedRow);
1885
1897
  }
1898
+ if (input.preapprovePlans && !item.plansPreapprovedAt) {
1899
+ const grantedRow = await ops.updateAtomic("work_items", { id: item.id }, (current) => current.plans_preapproved_at ? null : { plans_preapproved_at: now });
1900
+ if (grantedRow) item = toRow(grantedRow);
1901
+ }
1886
1902
  await ops.updateMany("factory_run_bindings", {
1887
1903
  org_id: input.orgId,
1888
1904
  factory_project_id: input.factoryProjectId,
@@ -1929,6 +1945,7 @@ var WorkItemsStorage = class extends FactoryStorageDomain {
1929
1945
  lease_owner: null,
1930
1946
  lease_expires_at: null,
1931
1947
  last_error: null,
1948
+ failure_code: null,
1932
1949
  completed_at: null,
1933
1950
  created_at: now,
1934
1951
  updated_at: now