@kitman-sh/sdk 0.7.4 → 0.8.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 (79) hide show
  1. package/dist/build/index.js +10 -11
  2. package/dist/{chunk-p8v1smcg.js → chunk-160ww64c.js} +668 -185
  3. package/dist/{chunk-7jc5y0mj.js → chunk-36jhc745.js} +285 -83
  4. package/dist/loop/index.js +43 -1
  5. package/dist/program/index.js +7 -3
  6. package/package.json +3 -1
  7. package/types/packages/core/src/agent-capabilities.d.ts +68 -74
  8. package/types/packages/core/src/agent-environment.d.ts +26 -26
  9. package/types/packages/core/src/agent-launch-snapshot.d.ts +1 -1
  10. package/types/packages/core/src/agent-sandbox-policy.d.ts +15 -0
  11. package/types/packages/core/src/approval-queue.d.ts +4 -4
  12. package/types/packages/core/src/audit.d.ts +1 -1
  13. package/types/packages/core/src/change-delivery.d.ts +1 -1
  14. package/types/packages/core/src/change-request-review.d.ts +199 -7
  15. package/types/packages/core/src/change-request.d.ts +43 -12
  16. package/types/packages/core/src/connection.d.ts +1 -1
  17. package/types/packages/core/src/context-feedback.d.ts +8 -8
  18. package/types/packages/core/src/context-pack.d.ts +8 -8
  19. package/types/packages/core/src/crypto.d.ts +5 -0
  20. package/types/packages/core/src/data-lifecycle.d.ts +12 -12
  21. package/types/packages/core/src/decision.d.ts +2 -2
  22. package/types/packages/core/src/delivery-policy.d.ts +3 -3
  23. package/types/packages/core/src/enterprise-forge.d.ts +19 -0
  24. package/types/packages/core/src/epic-delivery.d.ts +1 -1
  25. package/types/packages/core/src/external-effect.d.ts +2 -2
  26. package/types/packages/core/src/global-search.d.ts +1 -1
  27. package/types/packages/core/src/index.d.ts +10 -2
  28. package/types/packages/core/src/integration.d.ts +58 -57
  29. package/types/packages/core/src/kit.d.ts +47 -47
  30. package/types/packages/core/src/live.d.ts +694 -781
  31. package/types/packages/core/src/loop-layers.d.ts +1 -1
  32. package/types/packages/core/src/loop-version.d.ts +1 -1
  33. package/types/packages/core/src/loop.d.ts +488 -86
  34. package/types/packages/core/src/marketplace.d.ts +127 -0
  35. package/types/packages/core/src/memory.d.ts +17 -12
  36. package/types/packages/core/src/my-teams.d.ts +238 -40
  37. package/types/packages/core/src/notification.d.ts +73 -12
  38. package/types/packages/core/src/owner.d.ts +15 -0
  39. package/types/packages/core/src/package-declarations.d.ts +97 -31
  40. package/types/packages/core/src/package.d.ts +22 -22
  41. package/types/packages/core/src/personal-development-profile.d.ts +2 -2
  42. package/types/packages/core/src/proposal.d.ts +25 -25
  43. package/types/packages/core/src/redaction.d.ts +2 -1
  44. package/types/packages/core/src/repo-binding.d.ts +19 -10
  45. package/types/packages/core/src/run-display.d.ts +12 -0
  46. package/types/packages/core/src/run-file.d.ts +190 -0
  47. package/types/packages/core/src/run-graph.d.ts +67 -0
  48. package/types/packages/core/src/run-launch.d.ts +7 -5
  49. package/types/packages/core/src/run.d.ts +9 -9
  50. package/types/packages/core/src/runner-eligibility.d.ts +4 -4
  51. package/types/packages/core/src/runner.d.ts +339 -111
  52. package/types/packages/core/src/schedule.d.ts +2 -2
  53. package/types/packages/core/src/scope-directory.d.ts +5 -5
  54. package/types/packages/core/src/secret.d.ts +9 -9
  55. package/types/packages/core/src/session.d.ts +2 -2
  56. package/types/packages/core/src/step-brief.d.ts +10 -3
  57. package/types/packages/core/src/storage.d.ts +49 -0
  58. package/types/packages/core/src/sync-kit.d.ts +25 -25
  59. package/types/packages/core/src/task-detail.d.ts +20 -13
  60. package/types/packages/core/src/task-execution-record.d.ts +6 -6
  61. package/types/packages/core/src/task.d.ts +52 -16
  62. package/types/packages/core/src/team-context.d.ts +33 -0
  63. package/types/packages/core/src/transcript.d.ts +230 -0
  64. package/types/packages/core/src/trigger-dispatch.d.ts +2 -2
  65. package/types/packages/core/src/trust-panel.d.ts +27 -0
  66. package/types/packages/core/src/work-unit.d.ts +44 -18
  67. package/types/packages/core/src/workspace.d.ts +77 -6
  68. package/types/packages/live/src/rpc/runner-client.d.ts +586 -15
  69. package/types/packages/live/src/rpc/runner-group.d.ts +597 -241
  70. package/types/packages/sdk/src/loop/activities.d.ts +208 -1
  71. package/types/packages/sdk/src/loop/config.d.ts +1 -1
  72. package/types/packages/sdk/src/loop/define.d.ts +8 -2
  73. package/types/packages/sdk/src/loop/plan.d.ts +2 -2
  74. package/types/packages/sdk/src/loop/steps.d.ts +2 -2
  75. package/types/packages/sdk/src/loop/test-loop.d.ts +6 -1
  76. package/types/packages/sdk/src/program/engine.d.ts +71 -3
  77. package/types/packages/sdk/src/program/host.d.ts +13 -1
  78. package/types/packages/core/src/enterprise-code-host.d.ts +0 -18
  79. package/types/packages/core/src/project.d.ts +0 -66
@@ -336,7 +336,7 @@ var AgentSyncProfileSource = Schema5.Union([
336
336
  teamId: Schema5.optionalKey(Id),
337
337
  enabled: Schema5.Boolean
338
338
  }),
339
- Schema5.Struct({ kind: Schema5.Literal("project_kits"), projectId: Id, enabled: Schema5.Boolean })
339
+ Schema5.Struct({ kind: Schema5.Literal("team_kits"), teamId: Id, enabled: Schema5.Boolean })
340
340
  ]);
341
341
  var AgentSyncProfile = Schema5.Struct({
342
342
  id: Schema5.optionalKey(Id),
@@ -394,7 +394,7 @@ var AgentEnvironmentSource = Schema5.Union([
394
394
  label: Schema5.optionalKey(Schema5.String.check(Schema5.isMinLength(1)))
395
395
  }),
396
396
  Schema5.Struct({
397
- kind: Schema5.Literal("project_kit"),
397
+ kind: Schema5.Literal("team_kit"),
398
398
  kitId: Id,
399
399
  ...AgentKitSourceFields,
400
400
  provenance: Schema5.optionalKey(Schema5.Union([
@@ -534,7 +534,7 @@ var AgentEnvironmentSyncPlan = Schema5.Struct({
534
534
  import * as Schema6 from "effect/Schema";
535
535
  import * as Struct6 from "effect/Struct";
536
536
  var KitKinds = ["technology", "brand", "domain", "process", "other"];
537
- var ProjectKitProvenanceKinds = ["explicit", "workspace_default", "workspace_mandatory"];
537
+ var TeamKitProvenanceKinds = ["explicit", "workspace_default", "workspace_mandatory"];
538
538
  var KitKind = Schema6.Union([
539
539
  Schema6.Literal("technology"),
540
540
  Schema6.Literal("brand"),
@@ -551,8 +551,8 @@ var Kit = Schema6.Struct({
551
551
  description: Schema6.optionalKey(Schema6.String),
552
552
  contentMarkdown: Schema6.String,
553
553
  metadata: Schema6.Record(Schema6.String, Schema6.Unknown),
554
- projectAttachment: Schema6.optionalKey(Schema6.Struct({
555
- provenance: Schema6.Literals(ProjectKitProvenanceKinds),
554
+ teamAttachment: Schema6.optionalKey(Schema6.Struct({
555
+ provenance: Schema6.Literals(TeamKitProvenanceKinds),
556
556
  workspaceKitAssignmentId: Schema6.optionalKey(Id),
557
557
  policyRevision: Schema6.optionalKey(Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(1))),
558
558
  package: Schema6.optionalKey(Schema6.String)
@@ -731,8 +731,7 @@ var KitVersion = Schema6.Struct({
731
731
  var KitInstallationScope = Schema6.Union([
732
732
  Schema6.Literal("user"),
733
733
  Schema6.Literal("workspace"),
734
- Schema6.Literal("team"),
735
- Schema6.Literal("project")
734
+ Schema6.Literal("team")
736
735
  ]);
737
736
  var KitInstallationBase = Schema6.Struct({
738
737
  id: Id,
@@ -787,7 +786,7 @@ var KitActivation = Schema6.Struct({
787
786
  activationType: Schema6.Union([
788
787
  Schema6.Literal("workspace_default"),
789
788
  Schema6.Literal("team_default"),
790
- Schema6.Literal("project_attachment"),
789
+ Schema6.Literal("team_attachment"),
791
790
  Schema6.Literal("personal_default"),
792
791
  Schema6.Literal("harness")
793
792
  ]),
@@ -852,7 +851,7 @@ var KitMarketplacePreviewInput = Schema6.Struct({
852
851
  activationType: Schema6.optionalKey(Schema6.Union([
853
852
  Schema6.Literal("workspace_default"),
854
853
  Schema6.Literal("team_default"),
855
- Schema6.Literal("project_attachment"),
854
+ Schema6.Literal("team_attachment"),
856
855
  Schema6.Literal("personal_default"),
857
856
  Schema6.Literal("harness")
858
857
  ]))
@@ -919,18 +918,18 @@ var KitList = Schema6.Struct({
919
918
  policyRevision: Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(1))
920
919
  })))
921
920
  });
922
- var ProjectKitAttachResult = Schema6.Struct({
921
+ var TeamKitAttachResult = Schema6.Struct({
923
922
  status: Schema6.Union([Schema6.Literal("attached"), Schema6.Literal("already_attached")]),
924
- projectId: Id,
923
+ teamId: Id,
925
924
  kitId: Id
926
925
  });
927
- var ProjectKitDetachResult = Schema6.Struct({
926
+ var TeamKitDetachResult = Schema6.Struct({
928
927
  status: Schema6.Union([Schema6.Literal("detached"), Schema6.Literal("not_attached")]),
929
- projectId: Id,
928
+ teamId: Id,
930
929
  kitId: Id
931
930
  });
932
931
  var WorkspacePolicyKitMode = Schema6.Union([Schema6.Literal("default"), Schema6.Literal("mandatory")]);
933
- var ProjectKitProvenanceKind = Schema6.Union([
932
+ var TeamKitProvenanceKind = Schema6.Union([
934
933
  Schema6.Literal("explicit"),
935
934
  Schema6.Literal("workspace_default"),
936
935
  Schema6.Literal("workspace_mandatory")
@@ -973,10 +972,10 @@ var WorkspacePolicyKitAssignmentDeleteResult = Schema6.Struct({
973
972
  deleted: Schema6.Boolean,
974
973
  assignmentId: Id
975
974
  });
976
- var ProjectKitPolicyOverride = Schema6.Struct({
975
+ var TeamKitPolicyOverride = Schema6.Struct({
977
976
  id: Id,
978
977
  workspaceId: Id,
979
- projectId: Id,
978
+ teamId: Id,
980
979
  workspaceKitAssignmentId: Id,
981
980
  kind: Schema6.Literal("opt_out"),
982
981
  reason: Schema6.optionalKey(Schema6.String),
@@ -984,20 +983,20 @@ var ProjectKitPolicyOverride = Schema6.Struct({
984
983
  createdByActorId: Id,
985
984
  createdAt: Timestamp
986
985
  });
987
- var ProjectKitPolicyOverrideCreate = Schema6.Struct({
986
+ var TeamKitPolicyOverrideCreate = Schema6.Struct({
988
987
  expectedRevision: Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(1)),
989
988
  reason: Schema6.optionalKey(Schema6.String.check(Schema6.isMinLength(1), Schema6.isMaxLength(1000)))
990
989
  });
991
- var ProjectKitPolicyOverrideDelete = Schema6.Struct({
990
+ var TeamKitPolicyOverrideDelete = Schema6.Struct({
992
991
  expectedRevision: Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(1))
993
992
  });
994
- var ProjectKitPolicyOverrideDeleteResult = Schema6.Struct({
993
+ var TeamKitPolicyOverrideDeleteResult = Schema6.Struct({
995
994
  deleted: Schema6.Boolean,
996
- projectId: Id,
995
+ teamId: Id,
997
996
  workspaceKitAssignmentId: Id
998
997
  });
999
- var ProjectPolicyKitConvergenceResult = Schema6.Struct({
1000
- projectId: Id,
998
+ var TeamPolicyKitConvergenceResult = Schema6.Struct({
999
+ teamId: Id,
1001
1000
  state: Schema6.Union([Schema6.Literal("current"), Schema6.Literal("degraded")]),
1002
1001
  highestPolicyRevision: Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(0)),
1003
1002
  scanned: Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(0), Schema6.isLessThanOrEqualTo(100)),
@@ -1009,7 +1008,7 @@ var ProjectPolicyKitConvergenceResult = Schema6.Struct({
1009
1008
  repairAvailable: Schema6.Boolean,
1010
1009
  nextCursor: Schema6.optionalKey(Id)
1011
1010
  });
1012
- var ProjectPolicyKitConvergenceInput = Schema6.Struct({ cursor: Schema6.optionalKey(Id) });
1011
+ var TeamPolicyKitConvergenceInput = Schema6.Struct({ cursor: Schema6.optionalKey(Id) });
1013
1012
  var WorkspacePolicyKitBackfillPreviewKinds = [
1014
1013
  "affected",
1015
1014
  "unchanged",
@@ -1042,8 +1041,8 @@ var WorkspacePolicyKitBackfillCounts = Schema6.Struct({
1042
1041
  cancelled: Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(0))
1043
1042
  });
1044
1043
  var WorkspacePolicyKitBackfillItem = Schema6.Struct({
1045
- projectId: Id,
1046
- projectName: Schema6.String,
1044
+ teamId: Id,
1045
+ teamName: Schema6.String,
1047
1046
  previewKind: WorkspacePolicyKitBackfillPreviewKind,
1048
1047
  applyStatus: WorkspacePolicyKitBackfillApplyStatus,
1049
1048
  attempts: Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(0)),
@@ -1082,14 +1081,9 @@ var WorkspacePolicyKitBackfillCancelResult = Schema6.Struct({
1082
1081
  });
1083
1082
 
1084
1083
  // packages/core/src/loop-layers.ts
1085
- var LoopLayers = ["project", "workspace", "shipped"];
1084
+ var LoopLayers = ["team", "workspace", "shipped"];
1086
1085
  var AgentEfforts = ["low", "medium", "high", "xhigh"];
1087
1086
 
1088
- // packages/core/src/schedule.ts
1089
- import * as Schema13 from "effect/Schema";
1090
- import * as DateTime from "effect/DateTime";
1091
- import * as Option from "effect/Option";
1092
-
1093
1087
  // packages/core/src/loop.ts
1094
1088
  import * as Effect from "effect/Effect";
1095
1089
  import * as Schema12 from "effect/Schema";
@@ -1098,7 +1092,7 @@ import * as Schema12 from "effect/Schema";
1098
1092
  import * as Schema7 from "effect/Schema";
1099
1093
  var ContextPackIndexEntryKinds = [
1100
1094
  "task",
1101
- "project",
1095
+ "team",
1102
1096
  "kit",
1103
1097
  "memory",
1104
1098
  "decision",
@@ -1134,7 +1128,7 @@ var ContextPackRetrievalRefKind = Schema7.Literals(ContextPackRetrievalRefKinds)
1134
1128
  var ContextPackLaunchBrief = Schema7.Struct({
1135
1129
  mode: ContextPackMode,
1136
1130
  taskTitle: Schema7.String.check(Schema7.isMinLength(1)),
1137
- projectName: Schema7.optionalKey(Schema7.String.check(Schema7.isMinLength(1))),
1131
+ teamName: Schema7.optionalKey(Schema7.String.check(Schema7.isMinLength(1))),
1138
1132
  summary: Schema7.String.check(Schema7.isMinLength(1))
1139
1133
  });
1140
1134
  var ContextPackIndexEntry = Schema7.Struct({
@@ -1172,7 +1166,7 @@ var ContextPackBudget = Schema7.Struct({
1172
1166
  var ContextPack = Schema7.Struct({
1173
1167
  contextPackId: Id,
1174
1168
  workspaceId: Id,
1175
- projectId: Schema7.optionalKey(Id),
1169
+ teamId: Schema7.optionalKey(Id),
1176
1170
  taskId: Id,
1177
1171
  mode: ContextPackMode,
1178
1172
  contentMarkdown: Schema7.String.check(Schema7.isMinLength(1)),
@@ -1286,7 +1280,7 @@ class DurableSurfaceScanError extends Data.TaggedError("DurableSurfaceScanError"
1286
1280
  }
1287
1281
  var LIVE_CANONICAL_ID_KEYS = new Set([
1288
1282
  "workspace_id",
1289
- "project_id",
1283
+ "team_id",
1290
1284
  "task_id",
1291
1285
  "session_id",
1292
1286
  "step_attempt_id",
@@ -1433,7 +1427,7 @@ var AgentProvenance = Schema9.Struct({
1433
1427
  source: Schema9.Union([
1434
1428
  Schema9.Literal("kitman"),
1435
1429
  Schema9.Literal("workspace"),
1436
- Schema9.Literal("project"),
1430
+ Schema9.Literal("team"),
1437
1431
  Schema9.Literal("git"),
1438
1432
  Schema9.Literal("package"),
1439
1433
  Schema9.Literal("import")
@@ -1447,7 +1441,7 @@ var Agent = Schema9.Struct({
1447
1441
  contractVersion: RunContractVersion,
1448
1442
  id: Id,
1449
1443
  workspaceId: Id,
1450
- projectId: Schema9.optionalKey(Id),
1444
+ teamId: Schema9.optionalKey(Id),
1451
1445
  name: Schema9.String.check(Schema9.isMinLength(1), Schema9.isMaxLength(160)),
1452
1446
  slug: Schema9.String.check(Schema9.isMinLength(1), Schema9.isMaxLength(160), Schema9.isPattern(new RegExp("^[a-z0-9]+(?:-[a-z0-9]+)*$", "u"))),
1453
1447
  currentVersion: Schema9.optionalKey(Schema9.Int.check(Schema9.isGreaterThanOrEqualTo(1))),
@@ -1561,7 +1555,7 @@ var RunMessage = Schema9.Struct({
1561
1555
  contractVersion: RunContractVersion,
1562
1556
  id: Id,
1563
1557
  workspaceId: Id,
1564
- projectId: Schema9.optionalKey(Id),
1558
+ teamId: Schema9.optionalKey(Id),
1565
1559
  rootRunId: Id,
1566
1560
  sender: Schema9.Union([
1567
1561
  Schema9.Struct({ kind: Schema9.Union([Schema9.Literal("run"), Schema9.Literal("step_attempt")]), id: Id }),
@@ -1593,7 +1587,7 @@ var RunResult = Schema9.Struct({
1593
1587
  contractVersion: RunContractVersion,
1594
1588
  id: Id,
1595
1589
  workspaceId: Id,
1596
- projectId: Schema9.optionalKey(Id),
1590
+ teamId: Schema9.optionalKey(Id),
1597
1591
  runId: Id,
1598
1592
  rootRunId: Id,
1599
1593
  attempt: Schema9.Int.check(Schema9.isGreaterThanOrEqualTo(1)),
@@ -1636,7 +1630,7 @@ var RunEvent = Schema9.Struct({
1636
1630
  streamId: Id,
1637
1631
  sequence: Schema9.Int.check(Schema9.isGreaterThanOrEqualTo(1)),
1638
1632
  workspaceId: Id,
1639
- projectId: Schema9.optionalKey(Id),
1633
+ teamId: Schema9.optionalKey(Id),
1640
1634
  subject: RunResourceRef,
1641
1635
  rootRunId: Id,
1642
1636
  type: Schema9.String.check(Schema9.isMinLength(1), Schema9.isMaxLength(100)),
@@ -1661,7 +1655,7 @@ var Wait = Schema9.Struct({
1661
1655
  contractVersion: RunContractVersion,
1662
1656
  id: Id,
1663
1657
  workspaceId: Id,
1664
- projectId: Schema9.optionalKey(Id),
1658
+ teamId: Schema9.optionalKey(Id),
1665
1659
  runId: Id,
1666
1660
  rootRunId: Id,
1667
1661
  stepKey: Schema9.optionalKey(Schema9.String.check(Schema9.isMinLength(1), Schema9.isMaxLength(160))),
@@ -1724,7 +1718,7 @@ var ControlCommand = Schema9.Struct({
1724
1718
  contractVersion: RunContractVersion,
1725
1719
  id: Id,
1726
1720
  workspaceId: Id,
1727
- projectId: Schema9.optionalKey(Id),
1721
+ teamId: Schema9.optionalKey(Id),
1728
1722
  target: RunResourceRef,
1729
1723
  kind: ControlCommandKind,
1730
1724
  payload: Schema9.Struct({ kind: ControlCommandKind, data: SafeJson }),
@@ -1750,7 +1744,7 @@ var RunCommandCenterSnapshot = Schema9.Struct({
1750
1744
  scope: Schema9.Struct({
1751
1745
  kind: Schema9.Literal("run"),
1752
1746
  workspaceId: Id,
1753
- projectId: Schema9.optionalKey(Id),
1747
+ teamId: Schema9.optionalKey(Id),
1754
1748
  runId: Id
1755
1749
  }),
1756
1750
  capturedAt: Timestamp,
@@ -1820,14 +1814,14 @@ var ProposalTargetTypes = [
1820
1814
  "agent_environment_policy",
1821
1815
  "decision",
1822
1816
  "task",
1823
- "project_context",
1817
+ "team_context",
1824
1818
  "context_relevance",
1825
1819
  ...KitMarketplaceProposalTargetTypes
1826
1820
  ];
1827
1821
  var ProposalRiskLevels = ["low", "medium", "high"];
1828
1822
  var ProposalApprovalPolicyModes = [
1829
1823
  "auto_approve_low_risk",
1830
- "require_other_project_member",
1824
+ "require_other_team_member",
1831
1825
  "require_workspace_owner_or_admin"
1832
1826
  ];
1833
1827
  var ProposalPolicyViolationCodes = [
@@ -1851,7 +1845,7 @@ var ProposalRenderedDiffRefKinds = [
1851
1845
  "agent_environment_policy",
1852
1846
  "decision",
1853
1847
  "task",
1854
- "project_context",
1848
+ "team_context",
1855
1849
  "context_relevance",
1856
1850
  ...KitMarketplaceProposalTargetTypes,
1857
1851
  "session",
@@ -1939,18 +1933,13 @@ var ProposalPayload = Schema11.Struct({
1939
1933
  agent_environment_policy: Schema11.optionalKey(ProposalSafeMetadata),
1940
1934
  decision: Schema11.optionalKey(ProposalSafeMetadata),
1941
1935
  task: Schema11.optionalKey(ProposalSafeMetadata),
1942
- project_context: Schema11.optionalKey(ProposalSafeMetadata),
1936
+ team_context: Schema11.optionalKey(ProposalSafeMetadata),
1943
1937
  context_relevance: Schema11.optionalKey(ProposalSafeMetadata)
1944
1938
  });
1945
1939
  var ProposalTargetRef = Schema11.Struct({
1946
1940
  type: ProposalTargetType,
1947
1941
  id: Schema11.optionalKey(Id),
1948
- scopeType: Schema11.optionalKey(Schema11.Union([
1949
- Schema11.Literal("workspace"),
1950
- Schema11.Literal("project"),
1951
- Schema11.Literal("task"),
1952
- Schema11.Literal("kit")
1953
- ])),
1942
+ scopeType: Schema11.optionalKey(Schema11.Union([Schema11.Literal("workspace"), Schema11.Literal("team"), Schema11.Literal("task"), Schema11.Literal("kit")])),
1954
1943
  scopeId: Schema11.optionalKey(Id)
1955
1944
  });
1956
1945
  var ProposalApprovalPolicy = Schema11.Struct({
@@ -2005,7 +1994,7 @@ var KitMarketplaceProposalReview = Schema11.Struct({
2005
1994
  var Proposal = Schema11.Struct({
2006
1995
  id: Id,
2007
1996
  workspaceId: Id,
2008
- projectId: Schema11.optionalKey(Id),
1997
+ teamId: Schema11.optionalKey(Id),
2009
1998
  taskId: Schema11.optionalKey(Id),
2010
1999
  target: ProposalTargetRef,
2011
2000
  title: Schema11.String.check(Schema11.isMinLength(1), Schema11.isMaxLength(240), Schema11.isPattern(new RegExp(ProposalSafeStringPattern, "u"))),
@@ -2123,20 +2112,20 @@ var QuestionStatuses = [
2123
2112
  var LoopGuardSources = [
2124
2113
  "trigger_event",
2125
2114
  "task",
2126
- "project",
2115
+ "team",
2127
2116
  "proposal",
2128
2117
  "decision",
2129
2118
  "step_attempt",
2130
2119
  "change_request",
2131
2120
  "context_feedback",
2132
2121
  "run",
2133
- "project_policy"
2122
+ "team_policy"
2134
2123
  ];
2135
2124
  var LoopSourceModes = ["direct", "git_backed"];
2136
2125
  var LoopGuardOperators = ["equals", "not_equals", "in", "not_in", "exists", "not_exists"];
2137
2126
  var LoopCapabilityScopeKinds = [
2138
2127
  "workspace",
2139
- "project",
2128
+ "team",
2140
2129
  "task",
2141
2130
  "change_request",
2142
2131
  "step_attempt",
@@ -2213,7 +2202,7 @@ var LoopCapabilityKinds = [
2213
2202
  "propose_kit",
2214
2203
  "propose_decision",
2215
2204
  "propose_agent_environment_policy",
2216
- "propose_project_context",
2205
+ "propose_team_context",
2217
2206
  "propose_context_relevance",
2218
2207
  "execute_runner_sandbox"
2219
2208
  ];
@@ -2622,6 +2611,7 @@ var RunEvidence = Schema12.Struct({
2622
2611
  tree: Schema12.String,
2623
2612
  durationMs: Schema12.Int.check(Schema12.isGreaterThanOrEqualTo(0)),
2624
2613
  outputTail: Schema12.String,
2614
+ fileIds: Schema12.optionalKey(Schema12.Array(Schema12.String)),
2625
2615
  recordedAt: Timestamp
2626
2616
  });
2627
2617
  var ApprovedVerification = Schema12.Struct({
@@ -2638,7 +2628,7 @@ var BundleDigest = Schema12.String.check(Schema12.isMinLength(64), Schema12.isMa
2638
2628
  var RunArtifact = Schema12.Struct({
2639
2629
  id: Id,
2640
2630
  runId: Id,
2641
- projectId: Schema12.optionalKey(Id),
2631
+ teamId: Schema12.optionalKey(Id),
2642
2632
  taskId: Schema12.optionalKey(Id),
2643
2633
  step: Schema12.String,
2644
2634
  kind: Schema12.String,
@@ -2673,7 +2663,7 @@ var RunAlignment = Schema12.Struct({
2673
2663
  var Run = Schema12.Struct({
2674
2664
  id: Id,
2675
2665
  workspaceId: Id,
2676
- projectId: Schema12.optionalKey(Id),
2666
+ teamId: Schema12.optionalKey(Id),
2677
2667
  taskId: Schema12.optionalKey(Id),
2678
2668
  sessionId: Schema12.optionalKey(Id),
2679
2669
  loopId: Id,
@@ -2683,7 +2673,7 @@ var Run = Schema12.Struct({
2683
2673
  trigger: RunTrigger,
2684
2674
  state: RunState,
2685
2675
  loopDigest: Schema12.optionalKey(BundleDigest),
2686
- loopLayer: Schema12.optionalKey(Schema12.Literals(["project", "workspace", "shipped"])),
2676
+ loopLayer: Schema12.optionalKey(Schema12.Literals(["team", "workspace", "shipped"])),
2687
2677
  parentRunId: Schema12.optionalKey(Id),
2688
2678
  waiting: Schema12.optionalKey(Schema12.Array(RunWaiting)),
2689
2679
  output: Schema12.optionalKey(Schema12.Unknown),
@@ -2696,7 +2686,7 @@ var Run = Schema12.Struct({
2696
2686
  updatedAt: Timestamp
2697
2687
  });
2698
2688
  var StepAttemptInputKinds = ["kit", "memory", "decision", "knowledge_record", "context_pack"];
2699
- var StepAttemptInputScopeKinds = ["workspace", "project", "task", "loop", "agent"];
2689
+ var StepAttemptInputScopeKinds = ["workspace", "team", "task", "loop", "agent"];
2700
2690
  var StepAttemptInputKind = Schema12.Literals(StepAttemptInputKinds);
2701
2691
  var StepAttemptInputScopeKind = Schema12.Literals(StepAttemptInputScopeKinds);
2702
2692
  var StepAttemptInputScope = Schema12.Struct({
@@ -2786,6 +2776,16 @@ var StepSessionUpdate = Schema12.Struct({
2786
2776
  kind: Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(80)),
2787
2777
  content: Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(4000))
2788
2778
  });
2779
+ var StepAttemptSessionUpdate = Schema12.Struct({
2780
+ id: Id,
2781
+ kind: Schema12.String,
2782
+ content: Schema12.String,
2783
+ createdAt: Timestamp
2784
+ });
2785
+ var StepAttemptSessionUpdateList = Schema12.Struct({
2786
+ items: Schema12.Array(StepAttemptSessionUpdate),
2787
+ next: Schema12.optionalKey(Schema12.String)
2788
+ });
2789
2789
  var StepOutputSubmissionResult = Schema12.Union([
2790
2790
  Schema12.Struct({ status: Schema12.Literal("accepted") }),
2791
2791
  Schema12.Struct({
@@ -2798,7 +2798,7 @@ var StepOutputSubmissionResult = Schema12.Union([
2798
2798
  var StepAttempt = Schema12.Struct({
2799
2799
  id: Id,
2800
2800
  workspaceId: Id,
2801
- projectId: Schema12.optionalKey(Id),
2801
+ teamId: Schema12.optionalKey(Id),
2802
2802
  taskId: Schema12.optionalKey(Id),
2803
2803
  sessionId: Schema12.optionalKey(Id),
2804
2804
  runId: Id,
@@ -2837,7 +2837,7 @@ var QuestionAnswer = Schema12.Struct({
2837
2837
  var Question = Schema12.Struct({
2838
2838
  id: Id,
2839
2839
  workspaceId: Id,
2840
- projectId: Schema12.optionalKey(Id),
2840
+ teamId: Schema12.optionalKey(Id),
2841
2841
  taskId: Schema12.optionalKey(Id),
2842
2842
  runId: Id,
2843
2843
  stepKey: Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(240)),
@@ -2860,7 +2860,7 @@ var QuestionAnswerCreate = Schema12.Struct({
2860
2860
  });
2861
2861
  var QuestionList = Schema12.Struct({ items: Schema12.Array(Question) });
2862
2862
  var RunLaunchContext = Schema12.Struct({
2863
- projectId: Schema12.optionalKey(Id),
2863
+ teamId: Schema12.optionalKey(Id),
2864
2864
  remoteUrl: Schema12.optionalKey(Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(2000))),
2865
2865
  repoBindingId: Schema12.optionalKey(Id),
2866
2866
  branch: Schema12.optionalKey(Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(255)))
@@ -2869,6 +2869,7 @@ var RunStart = Schema12.Struct({
2869
2869
  workspaceId: Id,
2870
2870
  loop: Schema12.optionalKey(Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(120))),
2871
2871
  words: Schema12.optionalKey(Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(4000))),
2872
+ plainWords: Schema12.optionalKey(Schema12.Boolean),
2872
2873
  task: Schema12.optionalKey(Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(200))),
2873
2874
  teamId: Schema12.optionalKey(Id),
2874
2875
  taskTypeId: Schema12.optionalKey(Id),
@@ -2898,7 +2899,9 @@ var RunStepSummary = Schema12.Struct({
2898
2899
  id: Id,
2899
2900
  attempt: Schema12.Int.check(Schema12.isGreaterThanOrEqualTo(1)),
2900
2901
  status: StepAttemptStatus,
2901
- failureSummary: Schema12.optionalKey(Schema12.String)
2902
+ failureSummary: Schema12.optionalKey(Schema12.String),
2903
+ output: Schema12.optionalKey(Schema12.Unknown),
2904
+ revision: Schema12.optionalKey(Schema12.String)
2902
2905
  }))
2903
2906
  });
2904
2907
  var RunSteerDeliveries = ["queued", "delivered", "failed"];
@@ -2911,14 +2914,73 @@ var RunSteer = Schema12.Struct({
2911
2914
  });
2912
2915
  var RunSteerInput = Schema12.Struct({
2913
2916
  text: LoopSafeText,
2917
+ stepAttemptId: Schema12.optionalKey(Id),
2914
2918
  idempotencyKey: Schema12.String.check(Schema12.isMinLength(1), Schema12.isMaxLength(240))
2915
2919
  });
2916
2920
  var RunSteerSent = Schema12.Struct({
2917
2921
  steer: RunSteer,
2918
2922
  target: Schema12.Literals(["session", "next_step"])
2919
2923
  });
2924
+ var RunDisplayStates = [
2925
+ "queued",
2926
+ "running",
2927
+ "needs_you",
2928
+ "blocked",
2929
+ "failed",
2930
+ "stopped",
2931
+ "succeeded",
2932
+ "partial"
2933
+ ];
2934
+ var RunDisplay = Schema12.Struct({
2935
+ state: Schema12.Literals(RunDisplayStates),
2936
+ retried: Schema12.Boolean,
2937
+ summary: Schema12.optionalKey(Schema12.String)
2938
+ });
2939
+ var RunGraphNodeKinds = ["agent", "check", "question", "child", "wait", "activity"];
2940
+ var RunGraphNode = Schema12.Struct({
2941
+ id: Id,
2942
+ name: Schema12.String,
2943
+ kind: Schema12.Literals(RunGraphNodeKinds),
2944
+ status: Schema12.Literals(RunDisplayStates),
2945
+ startedAt: Timestamp,
2946
+ endedAt: Schema12.optionalKey(Timestamp),
2947
+ attempts: Schema12.Array(Schema12.Struct({
2948
+ id: Id,
2949
+ attempt: Schema12.Int.check(Schema12.isGreaterThanOrEqualTo(1)),
2950
+ status: Schema12.Literals(RunDisplayStates),
2951
+ failureSummary: Schema12.optionalKey(Schema12.String)
2952
+ })),
2953
+ agent: Schema12.optionalKey(Schema12.Struct({
2954
+ id: Id,
2955
+ harness: Schema12.optionalKey(Schema12.String),
2956
+ model: Schema12.optionalKey(Schema12.String),
2957
+ runner: Schema12.optionalKey(Schema12.Struct({ id: Id, name: Schema12.String }))
2958
+ })),
2959
+ child: Schema12.optionalKey(Schema12.Struct({
2960
+ runId: Id,
2961
+ loopTitle: Schema12.String,
2962
+ display: RunDisplay,
2963
+ task: Schema12.optionalKey(Schema12.Struct({ id: Id, key: Schema12.String, title: Schema12.String }))
2964
+ }))
2965
+ });
2966
+ var RunGraph = Schema12.Struct({
2967
+ columns: Schema12.Array(Schema12.Array(RunGraphNode)),
2968
+ needs: Schema12.Array(Schema12.Struct({ from: Id, to: Id }))
2969
+ });
2970
+ var RunHeader = Schema12.Struct({
2971
+ loopTitle: Schema12.String,
2972
+ branch: Schema12.optionalKey(Schema12.String),
2973
+ changeRequest: Schema12.optionalKey(Schema12.Struct({ id: Id, title: Schema12.String, url: Schema12.String })),
2974
+ startedBy: Schema12.optionalKey(Schema12.Union([
2975
+ Schema12.Struct({ kind: Schema12.Literal("person"), name: Schema12.String }),
2976
+ Schema12.Struct({ kind: Schema12.Literal("event"), event: Schema12.String })
2977
+ ]))
2978
+ });
2920
2979
  var RunShow = Schema12.Struct({
2921
2980
  run: Run,
2981
+ header: RunHeader,
2982
+ display: RunDisplay,
2983
+ graph: RunGraph,
2922
2984
  steps: Schema12.Array(RunStepSummary),
2923
2985
  questions: Schema12.Array(Question),
2924
2986
  children: Schema12.Array(Schema12.Struct({ runId: Id, name: Schema12.String, status: RunStatus, createdAt: Timestamp })),
@@ -2929,6 +2991,7 @@ var RunShow = Schema12.Struct({
2929
2991
  recordedAt: Timestamp
2930
2992
  })),
2931
2993
  artifacts: Schema12.Array(RunArtifact),
2994
+ findings: Schema12.Array(RunArtifact),
2932
2995
  events: Schema12.Array(Schema12.Struct({ id: Id, type: Schema12.String, occurredAt: Timestamp })),
2933
2996
  evidence: Schema12.Array(RunEvidence),
2934
2997
  steers: Schema12.Array(RunSteer),
@@ -2940,7 +3003,7 @@ var RunStartPreview = Schema12.Struct({
2940
3003
  inputSchema: Schema12.Record(Schema12.String, Schema12.Unknown),
2941
3004
  input: Schema12.Record(Schema12.String, Schema12.Unknown),
2942
3005
  missing: Schema12.Array(Schema12.String),
2943
- projectId: Schema12.optionalKey(Id),
3006
+ teamId: Schema12.optionalKey(Id),
2944
3007
  inferred: Schema12.Struct({
2945
3008
  repoBindingId: Schema12.optionalKey(Id),
2946
3009
  branch: Schema12.optionalKey(Schema12.String),
@@ -2952,18 +3015,17 @@ var RunStartPreview = Schema12.Struct({
2952
3015
  var ProgramLoop = Schema12.Struct({
2953
3016
  id: Schema12.String,
2954
3017
  title: Schema12.String,
2955
- layer: Schema12.Literals(["project", "workspace", "shipped"]),
3018
+ layer: Schema12.Literals(["team", "workspace", "shipped"]),
2956
3019
  digest: Schema12.String,
2957
3020
  outcome: Schema12.optionalKey(Schema12.String),
2958
3021
  offers: Schema12.Array(Schema12.Struct({ id: Schema12.String, title: Schema12.String, loop: Schema12.String })),
2959
3022
  publishedAt: Timestamp,
2960
3023
  package: Schema12.String
2961
3024
  });
2962
- var LoopDetail = Schema12.Struct({ id: Schema12.String, resolved: Schema12.optionalKey(ProgramLoop) });
2963
3025
  var AutomaticStart = Schema12.Struct({
2964
3026
  eventId: Schema12.String,
2965
3027
  eventType: Schema12.String,
2966
- projectId: Schema12.Union([Schema12.String, Schema12.Null]),
3028
+ teamId: Schema12.Union([Schema12.String, Schema12.Null]),
2967
3029
  loop: Schema12.String,
2968
3030
  runId: Schema12.optionalKey(Schema12.String),
2969
3031
  rejection: Schema12.optionalKey(Schema12.String),
@@ -2972,7 +3034,7 @@ var AutomaticStart = Schema12.Struct({
2972
3034
  var AutomaticStartList = Schema12.Struct({ items: Schema12.Array(AutomaticStart) });
2973
3035
  var ProgramAgent = Schema12.Struct({
2974
3036
  id: Schema12.String,
2975
- layer: Schema12.Literals(["project", "workspace", "shipped"]),
3037
+ layer: Schema12.Literals(["team", "workspace", "shipped"]),
2976
3038
  package: Schema12.String,
2977
3039
  extends: Schema12.optionalKey(Schema12.String),
2978
3040
  instructions: Schema12.optionalKey(Schema12.String),
@@ -2994,7 +3056,17 @@ var ProgramAgent = Schema12.Struct({
2994
3056
  });
2995
3057
  var ProgramAgentList = Schema12.Struct({ items: Schema12.Array(ProgramAgent) });
2996
3058
  var ProgramLoopList = Schema12.Struct({ items: Schema12.Array(ProgramLoop) });
2997
- var RunList = Schema12.Struct({ items: Schema12.Array(Run) });
3059
+ var RunListItem = Schema12.Struct({
3060
+ run: Run,
3061
+ loop: Schema12.Struct({ id: Schema12.String, title: Schema12.String }),
3062
+ task: Schema12.optionalKey(Schema12.Struct({ id: Id, key: Schema12.String, title: Schema12.String })),
3063
+ display: RunDisplay,
3064
+ miniGraph: Schema12.Array(Schema12.Literals(RunDisplayStates))
3065
+ });
3066
+ var RunList = Schema12.Struct({
3067
+ items: Schema12.Array(RunListItem),
3068
+ next: Schema12.optionalKey(Schema12.String)
3069
+ });
2998
3070
  var RunWaitReasons = ["question", "completed", "failed", "stopped", "timeout"];
2999
3071
  var RunWaitResult = Schema12.Struct({
3000
3072
  reason: Schema12.Literals(RunWaitReasons),
@@ -3017,6 +3089,9 @@ var RunActionList = Schema12.Struct({ items: Schema12.Array(RunActionSummary) })
3017
3089
  var RunActionTaken = Schema12.Struct({ action: Schema12.String, run: Run });
3018
3090
 
3019
3091
  // packages/core/src/schedule.ts
3092
+ import * as Schema13 from "effect/Schema";
3093
+ import * as DateTime from "effect/DateTime";
3094
+ import * as Option from "effect/Option";
3020
3095
  var ScheduleFrequency = ["daily", "weekly"];
3021
3096
  var ScheduleMisfirePolicies = ["skip", "fire_once", "catch_up"];
3022
3097
  var ScheduleOverlapPolicies = ["allow", "skip", "coalesce"];
@@ -3078,7 +3153,7 @@ var ScheduleVersion = Schema13.Struct({
3078
3153
  id: Schema13.String.check(Schema13.isMinLength(1)),
3079
3154
  scheduleId: Schema13.String.check(Schema13.isMinLength(1)),
3080
3155
  workspaceId: Schema13.String.check(Schema13.isMinLength(1)),
3081
- projectId: Schema13.optionalKey(Schema13.String.check(Schema13.isMinLength(1))),
3156
+ teamId: Schema13.optionalKey(Schema13.String.check(Schema13.isMinLength(1))),
3082
3157
  loopId: Schema13.optionalKey(Schema13.String.check(Schema13.isMinLength(1))),
3083
3158
  name: Schema13.optionalKey(Schema13.String.check(Schema13.isMinLength(1), Schema13.isMaxLength(200))),
3084
3159
  version: Schema13.Int.check(Schema13.isGreaterThanOrEqualTo(1)),
@@ -3107,7 +3182,11 @@ var LoopCapabilities2 = [
3107
3182
  "post_comment",
3108
3183
  "create_tasks",
3109
3184
  "merge_change_request",
3110
- "publish_release"
3185
+ "publish_release",
3186
+ "read_transcripts",
3187
+ "propose",
3188
+ "read_project",
3189
+ "draft_update"
3111
3190
  ];
3112
3191
  var JsonObject2 = Schema14.Record(Schema14.String, Schema14.Json);
3113
3192
  var recordKeyedBy = (pattern, value) => Schema14.Record(Schema14.String, value).check(Schema14.makeFilter((record) => {
@@ -3132,7 +3211,22 @@ var LoopManifest = Schema14.Struct({
3132
3211
  offers: Schema14.Array(Schema14.Struct({ id: Schema14.String, title: Schema14.String, loop: Schema14.String })),
3133
3212
  capabilities: Schema14.Array(Schema14.Literals(LoopCapabilities2)),
3134
3213
  secrets: Schema14.optionalKey(Schema14.Array(SecretName)),
3135
- network: Schema14.optionalKey(AgentSandboxNetwork)
3214
+ network: Schema14.optionalKey(AgentSandboxNetwork),
3215
+ schedule: Schema14.optionalKey(Schema14.Struct({ rule: ScheduleRule, timezone: Schema14.String }))
3216
+ });
3217
+ var LoopDetail = Schema14.Struct({
3218
+ id: Schema14.String,
3219
+ resolved: Schema14.optionalKey(Schema14.Struct({
3220
+ ...ProgramLoop.fields,
3221
+ agents: LoopManifest.fields.agents,
3222
+ when: LoopManifest.fields.when,
3223
+ schedule: Schema14.optionalKey(Schema14.Struct({
3224
+ rule: ScheduleRule,
3225
+ timezone: Schema14.String,
3226
+ on: Schema14.Boolean,
3227
+ nextRunAt: Schema14.optionalKey(Schema14.String)
3228
+ }))
3229
+ }))
3136
3230
  });
3137
3231
  var AgentDeclaration = Schema14.Struct({
3138
3232
  extends: Schema14.optionalKey(Schema14.String),
@@ -3147,7 +3241,7 @@ var AgentDeclaration = Schema14.Struct({
3147
3241
  var scheduleFields = {
3148
3242
  name: Schema14.String.check(Schema14.isMinLength(1)),
3149
3243
  loop: Schema14.String,
3150
- project: Schema14.optionalKey(Schema14.String),
3244
+ team: Schema14.optionalKey(Schema14.String),
3151
3245
  input: Schema14.optionalKey(JsonObject2),
3152
3246
  timezone: Schema14.String,
3153
3247
  misfire: Schema14.optionalKey(Schema14.Literals(ScheduleMisfirePolicies)),
@@ -3179,7 +3273,7 @@ var KitInstallationDeclaration = Schema14.Struct({
3179
3273
  var KitAssignmentDeclaration = Schema14.Struct({
3180
3274
  kit: Schema14.String.check(Schema14.isMinLength(1)),
3181
3275
  workspace: Schema14.optionalKey(Schema14.Literals(["default", "mandatory"])),
3182
- projects: Schema14.optionalKey(Schema14.Array(Schema14.String))
3276
+ teams: Schema14.optionalKey(Schema14.Array(Schema14.String))
3183
3277
  });
3184
3278
  var KitDeclaration = Schema14.Union([
3185
3279
  KitInstallationDeclaration,
@@ -3214,7 +3308,8 @@ var JsonObjectSchema = Schema15.Record(Schema15.String, Schema15.Json);
3214
3308
  var declarationsAreData = (definition) => Schema15.decodeEffect(JsonObjectSchema)({
3215
3309
  agents: definition.agents,
3216
3310
  when: definition.when ?? [],
3217
- offers: definition.offers ?? []
3311
+ offers: definition.offers ?? [],
3312
+ schedule: definition.schedule ?? null
3218
3313
  }).pipe(Effect2.mapError((error) => new ManifestInvalid2({ loop: definition.id, message: `Declarations must be data: ${error.message}` })));
3219
3314
  var loopManifest2 = (definition) => Effect2.gen(function* () {
3220
3315
  yield* declarationsAreData(definition);
@@ -3230,7 +3325,8 @@ var loopManifest2 = (definition) => Effect2.gen(function* () {
3230
3325
  offers: definition.offers ?? [],
3231
3326
  capabilities: definition.capabilities,
3232
3327
  ...definition.secrets === undefined ? undefined : { secrets: definition.secrets },
3233
- ...definition.network === undefined ? undefined : { network: definition.network }
3328
+ ...definition.network === undefined ? undefined : { network: definition.network },
3329
+ ...definition.schedule === undefined ? undefined : { schedule: definition.schedule }
3234
3330
  };
3235
3331
  });
3236
3332
  // packages/sdk/src/loop/steps.ts
@@ -3512,6 +3608,7 @@ var suggestVerification2 = (name, verification) => takeStep2(name, "ask", "ask",
3512
3608
  import * as Context2 from "effect/Context";
3513
3609
  import * as Effect5 from "effect/Effect";
3514
3610
  import * as Schema19 from "effect/Schema";
3611
+ import * as SchemaTransformation from "effect/SchemaTransformation";
3515
3612
  import { Activity as Activity2 } from "effect/workflow";
3516
3613
 
3517
3614
  // packages/sdk/src/loop/plan.ts
@@ -3583,11 +3680,17 @@ var WriteBackRequest2 = Schema19.Struct({
3583
3680
  milestone: Schema19.optional(Schema19.Literals(WriteBackMilestones2)),
3584
3681
  changeRequestUrl: Schema19.optional(Schema19.String)
3585
3682
  });
3683
+ var RunFile2 = Schema19.Struct({ runFile: Schema19.String }).pipe(Schema19.decodeTo(Schema19.Struct({ id: Schema19.String }), SchemaTransformation.transform({
3684
+ decode: ({ runFile }) => ({ id: runFile }),
3685
+ encode: ({ id }) => ({ runFile: id })
3686
+ })));
3687
+ var FileRequest2 = Schema19.Struct({ path: Schema19.String, caption: Schema19.optional(Schema19.String) });
3586
3688
  var ArtifactRequest2 = Schema19.Struct({
3587
3689
  kind: Schema19.String,
3588
3690
  title: Schema19.String,
3589
3691
  text: Schema19.String,
3590
- data: Schema19.optional(Schema19.Json)
3692
+ data: Schema19.optional(Schema19.Json),
3693
+ files: Schema19.optional(Schema19.Array(RunFile2))
3591
3694
  });
3592
3695
  var ArtifactResult2 = Schema19.Struct({ artifactId: Schema19.String });
3593
3696
  var NoteRequest2 = Schema19.Struct({ text: Schema19.String, artifactId: Schema19.optional(Schema19.String) });
@@ -3614,6 +3717,68 @@ var ReleaseRequest2 = Schema19.Struct({
3614
3717
  notes: Schema19.String
3615
3718
  });
3616
3719
  var ReleaseResult2 = Schema19.Struct({ tag: Schema19.String, revision: Schema19.String, url: Schema19.String });
3720
+ var TranscriptPoint2 = Schema19.Struct({
3721
+ runId: Schema19.String,
3722
+ stepAttemptId: Schema19.String,
3723
+ sequence: Schema19.Int
3724
+ });
3725
+ var TranscriptsRequest2 = Schema19.Struct({
3726
+ days: Schema19.Int.check(Schema19.isGreaterThanOrEqualTo(1), Schema19.isLessThanOrEqualTo(31))
3727
+ });
3728
+ var TranscriptsResult2 = Schema19.Struct({
3729
+ runs: Schema19.Array(Schema19.Struct({
3730
+ runId: Schema19.String,
3731
+ loopId: Schema19.String,
3732
+ teamId: Schema19.optional(Schema19.String),
3733
+ failure: Schema19.optional(Schema19.String),
3734
+ entries: Schema19.Array(Schema19.Struct({ stepAttemptId: Schema19.String, sequence: Schema19.Int, kind: Schema19.String, text: Schema19.String }))
3735
+ }))
3736
+ });
3737
+ var Citations = Schema19.NonEmptyArray(TranscriptPoint2);
3738
+ var ProposeRequest2 = Schema19.Union([
3739
+ Schema19.Struct({
3740
+ kind: Schema19.Literal("memory"),
3741
+ teamId: Schema19.String,
3742
+ content: Schema19.String,
3743
+ citations: Citations
3744
+ }),
3745
+ Schema19.Struct({
3746
+ kind: Schema19.Literal("task"),
3747
+ title: Schema19.String,
3748
+ description: Schema19.String,
3749
+ teamId: Schema19.optional(Schema19.String),
3750
+ citations: Citations
3751
+ })
3752
+ ]);
3753
+ var ProposeResult2 = Schema19.Struct({ kind: Schema19.Literals(["memory", "task"]), id: Schema19.String });
3754
+ var Health = Schema19.Literals(["on_track", "at_risk", "off_track"]);
3755
+ var ProjectActivityRequest2 = Schema19.Struct({ projectId: Schema19.String });
3756
+ var ProjectActivityResult2 = Schema19.Struct({
3757
+ project: Schema19.Struct({ id: Schema19.String, name: Schema19.String }),
3758
+ health: Schema19.optional(Health),
3759
+ since: Schema19.optional(Schema19.String),
3760
+ runs: Schema19.Array(Schema19.Struct({
3761
+ runId: Schema19.String,
3762
+ loopId: Schema19.String,
3763
+ status: Schema19.String,
3764
+ taskKey: Schema19.optional(Schema19.String),
3765
+ taskTitle: Schema19.optional(Schema19.String),
3766
+ summary: Schema19.optional(Schema19.String),
3767
+ entries: Schema19.Array(Schema19.Struct({ stepAttemptId: Schema19.String, sequence: Schema19.Int, kind: Schema19.String, text: Schema19.String }))
3768
+ })),
3769
+ taskChanges: Schema19.Array(Schema19.Struct({ taskKey: Schema19.String, title: Schema19.String, change: Schema19.String, at: Schema19.String }))
3770
+ });
3771
+ var DraftUpdateRequest2 = Schema19.Struct({
3772
+ projectId: Schema19.String,
3773
+ health: Health,
3774
+ note: Schema19.String,
3775
+ writtenFrom: Schema19.Struct({
3776
+ runs: Schema19.Int,
3777
+ taskChanges: Schema19.Int,
3778
+ since: Schema19.optional(Schema19.String)
3779
+ })
3780
+ });
3781
+ var DraftUpdateResult2 = Schema19.Struct({ id: Schema19.String });
3617
3782
 
3618
3783
  class ChangeRequestActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/ChangeRequestActivity") {
3619
3784
  }
@@ -3624,6 +3789,9 @@ class WriteBackActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/WriteBa
3624
3789
  class ArtifactActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/ArtifactActivity") {
3625
3790
  }
3626
3791
 
3792
+ class FileActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/FileActivity") {
3793
+ }
3794
+
3627
3795
  class NoteActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/NoteActivity") {
3628
3796
  }
3629
3797
 
@@ -3641,6 +3809,18 @@ class MergeChangeRequestActivity2 extends Context2.Service()("@kitman-sh/sdk/loo
3641
3809
 
3642
3810
  class ReleaseActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/ReleaseActivity") {
3643
3811
  }
3812
+
3813
+ class TranscriptsActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/TranscriptsActivity") {
3814
+ }
3815
+
3816
+ class ProposeActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/ProposeActivity") {
3817
+ }
3818
+
3819
+ class ProjectActivityActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/ProjectActivityActivity") {
3820
+ }
3821
+
3822
+ class DraftUpdateActivity2 extends Context2.Service()("@kitman-sh/sdk/loop/DraftUpdateActivity") {
3823
+ }
3644
3824
  var hostActivity = (name, kind, capability, success, execute) => takeStep2(name, kind, capability, Activity2.make({ name: `${kind}/${name}`, success, error: StepFailed2, execute }));
3645
3825
  var changeRequest2 = (name, request) => hostActivity(name, "change_request", "change_request", ChangeRequestResult2, Effect5.gen(function* () {
3646
3826
  return yield* (yield* ChangeRequestActivity2).run(request, name);
@@ -3651,6 +3831,9 @@ var writeBack2 = (name, request) => hostActivity(name, "write_back", "write_back
3651
3831
  var artifact2 = (name, request) => hostActivity(name, "artifact", undefined, ArtifactResult2, Effect5.gen(function* () {
3652
3832
  return yield* (yield* ArtifactActivity2).run(request, name);
3653
3833
  }));
3834
+ var file2 = (name, request) => hostActivity(name, "file", undefined, RunFile2, Effect5.gen(function* () {
3835
+ return yield* (yield* FileActivity2).run(request, name);
3836
+ }));
3654
3837
  var note2 = (name, request) => hostActivity(name, "note", undefined, Schema19.Void, Effect5.gen(function* () {
3655
3838
  return yield* (yield* NoteActivity2).run(request, name);
3656
3839
  }));
@@ -3669,6 +3852,18 @@ var mergeChangeRequest2 = (name, request) => hostActivity(name, "merge_change_re
3669
3852
  var release2 = (name, request) => hostActivity(name, "release", "publish_release", ReleaseResult2, Effect5.gen(function* () {
3670
3853
  return yield* (yield* ReleaseActivity2).run(request, name);
3671
3854
  }));
3855
+ var transcripts2 = (name, request) => hostActivity(name, "transcripts", "read_transcripts", TranscriptsResult2, Effect5.gen(function* () {
3856
+ return yield* (yield* TranscriptsActivity2).run(request, name);
3857
+ }));
3858
+ var propose2 = (name, request) => hostActivity(name, "propose", "propose", ProposeResult2, Effect5.gen(function* () {
3859
+ return yield* (yield* ProposeActivity2).run(request, name);
3860
+ }));
3861
+ var projectActivity2 = (name, request) => hostActivity(name, "project_activity", "read_project", ProjectActivityResult2, Effect5.gen(function* () {
3862
+ return yield* (yield* ProjectActivityActivity2).run(request, name);
3863
+ }));
3864
+ var draftUpdate2 = (name, request) => hostActivity(name, "draft_update", "draft_update", DraftUpdateResult2, Effect5.gen(function* () {
3865
+ return yield* (yield* DraftUpdateActivity2).run(request, name);
3866
+ }));
3672
3867
  // packages/sdk/src/loop/test-loop.ts
3673
3868
  import * as ConfigProvider from "effect/ConfigProvider";
3674
3869
  import * as Context3 from "effect/Context";
@@ -3693,6 +3888,7 @@ var defaultActivities = {
3693
3888
  },
3694
3889
  writeBack: { run: () => Effect6.void },
3695
3890
  artifact: { run: (request) => Effect6.succeed({ artifactId: request.title }) },
3891
+ file: { run: (_request, step) => Effect6.succeed({ id: `file-${step}` }) },
3696
3892
  note: { run: () => Effect6.void },
3697
3893
  comment: { run: () => Effect6.void },
3698
3894
  createTasks: {
@@ -3714,7 +3910,13 @@ var defaultActivities = {
3714
3910
  revision: request.revision ?? "base-head",
3715
3911
  url: `test://releases/${request.tag}`
3716
3912
  })
3717
- }
3913
+ },
3914
+ transcripts: { run: () => Effect6.succeed({ runs: [] }) },
3915
+ propose: { run: (request, step) => Effect6.succeed({ kind: request.kind, id: `${request.kind}-${step}` }) },
3916
+ projectActivity: {
3917
+ run: (request) => Effect6.succeed({ project: { id: request.projectId, name: request.projectId }, runs: [], taskChanges: [] })
3918
+ },
3919
+ draftUpdate: { run: (_, step) => Effect6.succeed({ id: `draft-${step}` }) }
3718
3920
  };
3719
3921
  var withoutServices = (effect) => Effect6.orDie(Effect6.provide(effect, Context3.empty()));
3720
3922
  var deferredExit = (deferred) => Schema20.Exit(Schema20.toCodecJson(deferred.successSchema), Schema20.toCodecJson(deferred.errorSchema), Schema20.toCodecJson(Schema20.Defect()));
@@ -3791,7 +3993,7 @@ var executeLoop2 = (loop, runtime) => ({ input }) => Effect6.gen(function* () {
3791
3993
  steps: []
3792
3994
  });
3793
3995
  runtime.onRun?.(run);
3794
- return yield* loop.run(decoded).pipe(Effect6.provideService(LoopRun2, run), Effect6.provideService(LoopHost2, runtime.host), Effect6.provideService(ChangeRequestActivity2, runtime.activities.changeRequest), Effect6.provideService(WriteBackActivity2, runtime.activities.writeBack), Effect6.provideService(ArtifactActivity2, runtime.activities.artifact), Effect6.provideService(NoteActivity2, runtime.activities.note), Effect6.provideService(CommentActivity2, runtime.activities.comment), Effect6.provideService(CreateTasksActivity2, runtime.activities.createTasks), Effect6.provideService(IntegrationBranchActivity2, runtime.activities.integrationBranch), Effect6.provideService(MergeChangeRequestActivity2, runtime.activities.mergeChangeRequest), Effect6.provideService(ReleaseActivity2, runtime.activities.release));
3996
+ return yield* loop.run(decoded).pipe(Effect6.provideService(LoopRun2, run), Effect6.provideService(LoopHost2, runtime.host), Effect6.provideService(ChangeRequestActivity2, runtime.activities.changeRequest), Effect6.provideService(WriteBackActivity2, runtime.activities.writeBack), Effect6.provideService(ArtifactActivity2, runtime.activities.artifact), Effect6.provideService(FileActivity2, runtime.activities.file), Effect6.provideService(NoteActivity2, runtime.activities.note), Effect6.provideService(CommentActivity2, runtime.activities.comment), Effect6.provideService(CreateTasksActivity2, runtime.activities.createTasks), Effect6.provideService(IntegrationBranchActivity2, runtime.activities.integrationBranch), Effect6.provideService(MergeChangeRequestActivity2, runtime.activities.mergeChangeRequest), Effect6.provideService(ReleaseActivity2, runtime.activities.release), Effect6.provideService(TranscriptsActivity2, runtime.activities.transcripts), Effect6.provideService(ProposeActivity2, runtime.activities.propose), Effect6.provideService(ProjectActivityActivity2, runtime.activities.projectActivity), Effect6.provideService(DraftUpdateActivity2, runtime.activities.draftUpdate));
3795
3997
  });
3796
3998
  var testLoop2 = (loop, script) => {
3797
3999
  const journal = {
@@ -3963,4 +4165,4 @@ var checkLoop2 = (loop, check) => Effect7.gen(function* () {
3963
4165
  });
3964
4166
  // packages/sdk/src/loop/config.ts
3965
4167
  var defineConfig2 = (config) => config;
3966
- export { AgentSandboxNetwork, guard, Id, Timestamp, LoopStepOutput, StepBrief, LoopCapabilities2, LoopManifest, AgentDeclaration, KitInstallationDeclaration, KitAssignmentDeclaration, PackageDeclarations, LoopOutcome2, defineLoop2, ManifestInvalid2, jsonSchemaOf2, loopManifest2, EvidenceCheck2, VerifyResult2, OutcomeTable2, evidenceGate2, StepFailed2, OutputInvalid2, QuestionRefused2, WaitTimedOut2, ChildFailed2, CapabilityDenied2, DuplicateStep2, InputInvalid2, LoopEvent2, LoopRun2, LoopHost2, agentWorkDeferred2, answerDeferred2, childDeferred2, eventDeferred2, verifyDeferred2, takeStep2, agentWork2, ask2, call2, waitFor2, verify2, suggestVerification2, PlanTicket2, PlanTickets2, BlockingCycle2, planWaves2, ChangeRequestRequest2, ChangeRequestResult2, WriteBackMilestones2, WriteBackRequest2, ArtifactRequest2, ArtifactResult2, NoteRequest2, CreateTasksRequest2, CreateTasksResult2, IntegrationBranchRequest2, IntegrationBranch2, MergeChangeRequestRequest2, MergeResult2, CommentRequest2, ReleaseRequest2, ReleaseResult2, ChangeRequestActivity2, WriteBackActivity2, ArtifactActivity2, NoteActivity2, CommentActivity2, CreateTasksActivity2, IntegrationBranchActivity2, MergeChangeRequestActivity2, ReleaseActivity2, changeRequest2, writeBack2, artifact2, note2, comment2, createTasks2, integrationBranch2, mergeChangeRequest2, release2, LoopJournal2, ScriptedFailure2, scriptedFailure2, loopWorkflow2, executeLoop2, testLoop2, Severity2, Finding2, MergedFinding2, Rebuttal2, RebuttalVerdict2, ScopeJudgement2, isBlocking2, mergeFindings2, splitDisputed2, settleRound2, rallyStop2, CheckFailed2, StepNamedTwice2, ReplayDiverged2, LoopCheckError2, checkLoop2, defineConfig2 };
4168
+ export { AgentSandboxNetwork, Numeric, isWholeNumber, guard, Id, Timestamp, LoopStepOutput, StepBrief, LoopCapabilities2, LoopManifest, AgentDeclaration, KitInstallationDeclaration, KitAssignmentDeclaration, PackageDeclarations, LoopOutcome2, defineLoop2, ManifestInvalid2, jsonSchemaOf2, loopManifest2, EvidenceCheck2, VerifyResult2, OutcomeTable2, evidenceGate2, StepFailed2, OutputInvalid2, QuestionRefused2, WaitTimedOut2, ChildFailed2, CapabilityDenied2, DuplicateStep2, InputInvalid2, LoopEvent2, LoopRun2, LoopHost2, agentWorkDeferred2, answerDeferred2, childDeferred2, eventDeferred2, verifyDeferred2, takeStep2, agentWork2, ask2, call2, waitFor2, verify2, suggestVerification2, PlanTicket2, PlanTickets2, BlockingCycle2, planWaves2, ChangeRequestRequest2, ChangeRequestResult2, WriteBackMilestones2, WriteBackRequest2, RunFile2, FileRequest2, ArtifactRequest2, ArtifactResult2, NoteRequest2, CreateTasksRequest2, CreateTasksResult2, IntegrationBranchRequest2, IntegrationBranch2, MergeChangeRequestRequest2, MergeResult2, CommentRequest2, ReleaseRequest2, ReleaseResult2, TranscriptPoint2, TranscriptsRequest2, TranscriptsResult2, ProposeRequest2, ProposeResult2, ProjectActivityRequest2, ProjectActivityResult2, DraftUpdateRequest2, DraftUpdateResult2, ChangeRequestActivity2, WriteBackActivity2, ArtifactActivity2, FileActivity2, NoteActivity2, CommentActivity2, CreateTasksActivity2, IntegrationBranchActivity2, MergeChangeRequestActivity2, ReleaseActivity2, TranscriptsActivity2, ProposeActivity2, ProjectActivityActivity2, DraftUpdateActivity2, changeRequest2, writeBack2, artifact2, file2, note2, comment2, createTasks2, integrationBranch2, mergeChangeRequest2, release2, transcripts2, propose2, projectActivity2, draftUpdate2, LoopJournal2, ScriptedFailure2, scriptedFailure2, loopWorkflow2, executeLoop2, testLoop2, Severity2, Finding2, MergedFinding2, Rebuttal2, RebuttalVerdict2, ScopeJudgement2, isBlocking2, mergeFindings2, splitDisputed2, settleRound2, rallyStop2, CheckFailed2, StepNamedTwice2, ReplayDiverged2, LoopCheckError2, checkLoop2, defineConfig2 };