@peasant-labs/schema 0.1.0-rc8 → 0.1.0-rc9

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.
@@ -548,21 +548,6 @@ export declare const zFrictionCluster: z.ZodObject<{
548
548
  sessions: z.ZodInt;
549
549
  }, z.core.$strip>;
550
550
  export type FrictionCluster = z.infer<typeof zFrictionCluster>;
551
- export declare const zGitContext: z.ZodObject<{
552
- branch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
553
- commits: z.ZodOptional<z.ZodArray<z.ZodObject<{
554
- authorEmail: z.ZodString;
555
- authorName: z.ZodString;
556
- authorTime: z.ZodCoercedBigInt<unknown>;
557
- commitTime: z.ZodCoercedBigInt<unknown>;
558
- hash: z.ZodString;
559
- message: z.ZodString;
560
- }, z.core.$strip>>>;
561
- remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
562
- tracking: z.ZodOptional<z.ZodNullable<z.ZodString>>;
563
- worktree: z.ZodOptional<z.ZodNullable<z.ZodString>>;
564
- }, z.core.$strip>;
565
- export type GitContext = z.infer<typeof zGitContext>;
566
551
  /**
567
552
  * Harness
568
553
  *
@@ -794,6 +779,30 @@ export declare const zPublishResponse: z.ZodObject<{
794
779
  updatedAt: z.ZodCoercedBigInt<unknown>;
795
780
  }, z.core.$strip>;
796
781
  export type PublishResponse = z.infer<typeof zPublishResponse>;
782
+ export declare const zPublishedAssociation: z.ZodObject<{
783
+ id: z.ZodString;
784
+ observedCommitHash: z.ZodString;
785
+ }, z.core.$strip>;
786
+ export type PublishedAssociation = z.infer<typeof zPublishedAssociation>;
787
+ export declare const zGitContext: z.ZodObject<{
788
+ associations: z.ZodOptional<z.ZodArray<z.ZodObject<{
789
+ id: z.ZodString;
790
+ observedCommitHash: z.ZodString;
791
+ }, z.core.$strip>>>;
792
+ branch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
793
+ commits: z.ZodOptional<z.ZodArray<z.ZodObject<{
794
+ authorEmail: z.ZodString;
795
+ authorName: z.ZodString;
796
+ authorTime: z.ZodCoercedBigInt<unknown>;
797
+ commitTime: z.ZodCoercedBigInt<unknown>;
798
+ hash: z.ZodString;
799
+ message: z.ZodString;
800
+ }, z.core.$strip>>>;
801
+ remote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
802
+ tracking: z.ZodOptional<z.ZodNullable<z.ZodString>>;
803
+ worktree: z.ZodOptional<z.ZodNullable<z.ZodString>>;
804
+ }, z.core.$strip>;
805
+ export type GitContext = z.infer<typeof zGitContext>;
797
806
  /**
798
807
  * Read Attribution State
799
808
  *
@@ -1452,7 +1461,26 @@ export declare const zTargetKind: z.ZodEnum<{
1452
1461
  association: "association";
1453
1462
  }>;
1454
1463
  export type TargetKind = z.infer<typeof zTargetKind>;
1455
- export declare const zAnnotationPushItem: z.ZodObject<{
1464
+ export declare const zAnnotationPushItem: z.ZodIntersection<z.ZodUnion<readonly [z.ZodObject<{
1465
+ targetAssociationId: z.ZodString;
1466
+ targetKind: z.ZodLiteral<"association">;
1467
+ }, z.core.$strip>, z.ZodObject<{
1468
+ sessionId: z.ZodString;
1469
+ targetKind: z.ZodLiteral<"session">;
1470
+ }, z.core.$strip>, z.ZodObject<{
1471
+ entryTarget: z.ZodObject<{
1472
+ endIndex: z.ZodInt;
1473
+ entryIndex: z.ZodInt;
1474
+ sessionId: z.ZodString;
1475
+ }, z.core.$strip>;
1476
+ targetKind: z.ZodLiteral<"entry">;
1477
+ }, z.core.$strip>, z.ZodObject<{
1478
+ annotationId: z.ZodString;
1479
+ targetKind: z.ZodLiteral<"annotation">;
1480
+ }, z.core.$strip>, z.ZodObject<{
1481
+ projectHash: z.core.$ZodBranded<z.ZodString, "ProjectHash", "out">;
1482
+ targetKind: z.ZodLiteral<"project">;
1483
+ }, z.core.$strip>]>, z.ZodObject<{
1456
1484
  annotationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1457
1485
  annotatorName: z.ZodOptional<z.ZodString>;
1458
1486
  confidence: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -1472,6 +1500,7 @@ export declare const zAnnotationPushItem: z.ZodObject<{
1472
1500
  }, z.core.$strip>>>;
1473
1501
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1474
1502
  sessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1503
+ targetAssociationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1475
1504
  targetKind: z.ZodEnum<{
1476
1505
  session: "session";
1477
1506
  annotation: "annotation";
@@ -1482,10 +1511,29 @@ export declare const zAnnotationPushItem: z.ZodObject<{
1482
1511
  }>;
1483
1512
  typeId: z.ZodString;
1484
1513
  value: z.ZodString;
1485
- }, z.core.$strip>;
1514
+ }, z.core.$strip>>;
1486
1515
  export type AnnotationPushItem = z.infer<typeof zAnnotationPushItem>;
1487
1516
  export declare const zAnnotationPushRequest: z.ZodObject<{
1488
- annotations: z.ZodNullable<z.ZodArray<z.ZodObject<{
1517
+ annotations: z.ZodArray<z.ZodIntersection<z.ZodUnion<readonly [z.ZodObject<{
1518
+ targetAssociationId: z.ZodString;
1519
+ targetKind: z.ZodLiteral<"association">;
1520
+ }, z.core.$strip>, z.ZodObject<{
1521
+ sessionId: z.ZodString;
1522
+ targetKind: z.ZodLiteral<"session">;
1523
+ }, z.core.$strip>, z.ZodObject<{
1524
+ entryTarget: z.ZodObject<{
1525
+ endIndex: z.ZodInt;
1526
+ entryIndex: z.ZodInt;
1527
+ sessionId: z.ZodString;
1528
+ }, z.core.$strip>;
1529
+ targetKind: z.ZodLiteral<"entry">;
1530
+ }, z.core.$strip>, z.ZodObject<{
1531
+ annotationId: z.ZodString;
1532
+ targetKind: z.ZodLiteral<"annotation">;
1533
+ }, z.core.$strip>, z.ZodObject<{
1534
+ projectHash: z.core.$ZodBranded<z.ZodString, "ProjectHash", "out">;
1535
+ targetKind: z.ZodLiteral<"project">;
1536
+ }, z.core.$strip>]>, z.ZodObject<{
1489
1537
  annotationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1490
1538
  annotatorName: z.ZodOptional<z.ZodString>;
1491
1539
  confidence: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -1505,6 +1553,7 @@ export declare const zAnnotationPushRequest: z.ZodObject<{
1505
1553
  }, z.core.$strip>>>;
1506
1554
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1507
1555
  sessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1556
+ targetAssociationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1508
1557
  targetKind: z.ZodEnum<{
1509
1558
  session: "session";
1510
1559
  annotation: "annotation";
@@ -2285,6 +2334,10 @@ export declare const zPublishRequest: z.ZodObject<{
2285
2334
  toolOutput: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2286
2335
  }, z.core.$strip>>>;
2287
2336
  git: z.ZodObject<{
2337
+ associations: z.ZodOptional<z.ZodArray<z.ZodObject<{
2338
+ id: z.ZodString;
2339
+ observedCommitHash: z.ZodString;
2340
+ }, z.core.$strip>>>;
2288
2341
  branch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2289
2342
  commits: z.ZodOptional<z.ZodArray<z.ZodObject<{
2290
2343
  authorEmail: z.ZodString;
@@ -2778,6 +2831,10 @@ export declare const zUnifiedMetadata: z.ZodObject<{
2778
2831
  }, z.core.$strip>>>;
2779
2832
  }, z.core.$strip>;
2780
2833
  git: z.ZodObject<{
2834
+ associations: z.ZodOptional<z.ZodArray<z.ZodObject<{
2835
+ id: z.ZodString;
2836
+ observedCommitHash: z.ZodString;
2837
+ }, z.core.$strip>>>;
2781
2838
  branch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2782
2839
  commits: z.ZodOptional<z.ZodArray<z.ZodObject<{
2783
2840
  authorEmail: z.ZodString;
@@ -29,7 +29,12 @@ export const zAnnotationDatatype = z.enum([
29
29
  export const zAnnotationEntryTarget = z.object({
30
30
  endIndex: z.int(),
31
31
  entryIndex: z.int(),
32
- sessionId: z.string()
32
+ sessionId: z.string().min(1)
33
+ }).superRefine((value, context) => {
34
+ if (value.sessionId === "")
35
+ context.addIssue({ code: "custom", message: "entry targets require a non-empty sessionId" });
36
+ if (value.endIndex <= value.entryIndex)
37
+ context.addIssue({ code: "custom", message: "entry targets require endIndex greater than entryIndex" });
33
38
  });
34
39
  export const zAnnotationManifestResponse = z.object({
35
40
  digest: z.string(),
@@ -454,13 +459,6 @@ export const zFrictionCluster = z.object({
454
459
  label: z.string(),
455
460
  sessions: z.int()
456
461
  });
457
- export const zGitContext = z.object({
458
- branch: z.string().nullish(),
459
- commits: z.array(zCommitInfo).optional(),
460
- remote: z.string().nullish(),
461
- tracking: z.string().nullish(),
462
- worktree: z.string().nullish()
463
- });
464
462
  /**
465
463
  * Harness
466
464
  *
@@ -624,6 +622,42 @@ export const zPublishResponse = z.object({
624
622
  transcriptId: z.string(),
625
623
  updatedAt: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' })
626
624
  });
625
+ export const zPublishedAssociation = z.object({
626
+ id: zAssociationID,
627
+ observedCommitHash: z.string()
628
+ });
629
+ export const zGitContext = z.object({
630
+ associations: z.array(zPublishedAssociation).optional(),
631
+ branch: z.string().nullish(),
632
+ commits: z.array(zCommitInfo).optional(),
633
+ remote: z.string().nullish(),
634
+ tracking: z.string().nullish(),
635
+ worktree: z.string().nullish()
636
+ }).superRefine((value, context) => {
637
+ if (value.associations === undefined || value.associations === null)
638
+ return;
639
+ const seenIDs = new Map();
640
+ const seenObservedHashes = new Map();
641
+ for (const [index, association] of value.associations.entries()) {
642
+ if (association.observedCommitHash.trim() === "") {
643
+ context.addIssue({ code: "custom", path: ["associations", index, "observedCommitHash"], message: "published associations require a non-empty observedCommitHash" });
644
+ }
645
+ const priorID = seenIDs.get(association.id);
646
+ if (priorID !== undefined) {
647
+ context.addIssue({ code: "custom", path: ["associations", index, "id"], message: "published association IDs must be unique within one request" });
648
+ }
649
+ else {
650
+ seenIDs.set(association.id, index);
651
+ }
652
+ const priorObservedHash = seenObservedHashes.get(association.observedCommitHash);
653
+ if (priorObservedHash !== undefined) {
654
+ context.addIssue({ code: "custom", path: ["associations", index, "observedCommitHash"], message: "published association observedCommitHash values must be unique within one request" });
655
+ }
656
+ else {
657
+ seenObservedHashes.set(association.observedCommitHash, index);
658
+ }
659
+ }
660
+ });
627
661
  /**
628
662
  * Read Attribution State
629
663
  *
@@ -1006,7 +1040,28 @@ export const zTargetKind = z.enum([
1006
1040
  'file_version',
1007
1041
  'association'
1008
1042
  ]);
1009
- export const zAnnotationPushItem = z.object({
1043
+ export const zAnnotationPushItem = z.intersection(z.union([
1044
+ z.object({
1045
+ targetAssociationId: zAssociationID,
1046
+ targetKind: z.literal('association')
1047
+ }),
1048
+ z.object({
1049
+ sessionId: z.string().min(1),
1050
+ targetKind: z.literal('session')
1051
+ }),
1052
+ z.object({
1053
+ entryTarget: zAnnotationEntryTarget,
1054
+ targetKind: z.literal('entry')
1055
+ }),
1056
+ z.object({
1057
+ annotationId: z.string().min(1),
1058
+ targetKind: z.literal('annotation')
1059
+ }),
1060
+ z.object({
1061
+ projectHash: zProjectHash,
1062
+ targetKind: z.literal('project')
1063
+ })
1064
+ ]), z.object({
1010
1065
  annotationId: z.string().nullish(),
1011
1066
  annotatorName: z.string().optional(),
1012
1067
  confidence: z.number().nullish(),
@@ -1017,12 +1072,59 @@ export const zAnnotationPushItem = z.object({
1017
1072
  provenance: zProvenance.nullish(),
1018
1073
  reason: z.string().nullish(),
1019
1074
  sessionId: z.string().nullish(),
1075
+ targetAssociationId: zAssociationID.nullish(),
1020
1076
  targetKind: zTargetKind,
1021
1077
  typeId: z.string(),
1022
1078
  value: z.string()
1079
+ })).superRefine((value, context) => {
1080
+ const isPresent = (detail) => detail !== undefined && detail !== null;
1081
+ const hasNonEmptyString = (detail) => typeof detail === "string" && detail !== "";
1082
+ const hasOnly = (allowed) => {
1083
+ const targetFields = [
1084
+ ["targetAssociationId", value.targetAssociationId],
1085
+ ["sessionId", value.sessionId],
1086
+ ["entryTarget", value.entryTarget],
1087
+ ["annotationId", value.annotationId],
1088
+ ["projectHash", value.projectHash]
1089
+ ];
1090
+ return targetFields.every(([name, detail]) => allowed.includes(name) || !isPresent(detail));
1091
+ };
1092
+ const addIssue = (message) => context.addIssue({ code: "custom", message });
1093
+ switch (value.targetKind) {
1094
+ case "association":
1095
+ if (!isPresent(value.targetAssociationId))
1096
+ addIssue("association annotations require targetAssociationId");
1097
+ if (!hasOnly(["targetAssociationId"]))
1098
+ addIssue("association annotations must not mix target arms");
1099
+ return;
1100
+ case "session":
1101
+ if (!hasNonEmptyString(value.sessionId))
1102
+ addIssue("session annotations require a non-empty sessionId");
1103
+ if (!hasOnly(["sessionId"]))
1104
+ addIssue("session annotations must not mix target arms");
1105
+ return;
1106
+ case "entry":
1107
+ if (!isPresent(value.entryTarget))
1108
+ addIssue("entry annotations require entryTarget");
1109
+ if (!hasOnly(["entryTarget"]))
1110
+ addIssue("entry annotations must not mix target arms");
1111
+ return;
1112
+ case "annotation":
1113
+ if (!hasNonEmptyString(value.annotationId))
1114
+ addIssue("annotation targets require a non-empty annotationId");
1115
+ if (!hasOnly(["annotationId"]))
1116
+ addIssue("annotation targets must not mix target arms");
1117
+ return;
1118
+ case "project":
1119
+ if (!isPresent(value.projectHash))
1120
+ addIssue("project annotations require projectHash");
1121
+ if (!hasOnly(["projectHash"]))
1122
+ addIssue("project annotations must not mix target arms");
1123
+ return;
1124
+ }
1023
1125
  });
1024
1126
  export const zAnnotationPushRequest = z.object({
1025
- annotations: z.array(zAnnotationPushItem).nullable(),
1127
+ annotations: z.array(zAnnotationPushItem),
1026
1128
  retractions: z.array(z.string()).optional()
1027
1129
  });
1028
1130
  export const zAnnotationSummary = z.object({
@@ -1,2 +1,2 @@
1
- export { zActivityEdge, zAnnotationAxis, zAnnotationDatatype, zAnnotationEntryTarget, zAnnotationManifestResponse, zAnnotationPushStatus, zAnnotationPushResult, zAnnotationPushResponse, zAnnotationStatus, zAnnotatorKind, zAnnotatorSummary, zAssociationConclusion, zAssociationEvidenceKind, zAssociationEvidenceObservation, zAssociationID, zBatchCreateAnnotationsErrorResponse, zBatchCreateAnnotationsResponse, zBuiltinCommand, zCLILoginQuery, zChangeBinding, zChangeSummary, zChannelTopic, zChannelSubscription, zChildSessionRef, zCommitInfo, zConfidence, zContentKind, zContractVersion, zCreateAnnotationRequest, zBatchCreateAnnotationsRequest, zCreateAnnotationResponse, zDashboardPayload, zDayStats, zDecayLevel, zDiagnosticEntry, zDiagnosticsInfo, zDiffLineKind, zDiffLine, zDiffHunk, zEdgeViolationKind, zEdgeViolation, zEntryType, zExchangeCodeRequest, zExchangeCodeResponse, zFileChangeStatus, zChangeDiffPayload, zFileChange, zFileFamiliarity, zFrictionCluster, zGitContext, zHarness, zHealthResponse, zHostSlug, zInsightClassification, zInsightKind, zInsightProvenance, zInteractionType, zLicense, zMapEdge, zMapNodeKind, zMessageType, zClientMessage, zMockConfigResponse, zModelID, zModelInfo, zProjectHash, zProjectContext, zProjectResolutionPayload, zProjectSummary, zProjectSummariesPayload, zProvenance, zPublishResponse, zReadAttributionState, zReadStateGrade, zMapNode, zMapGraphPayload, zMapSlice, zRedactionInfo, zReviewSuggestion, zRewriteMethod, zRewriteResolution, zRole, zScaleKind, zSchemaVersionResponse, zSearchResult, zSearchPayload, zServerMessage, zSessionID, zInsightEvidence, zSessionAssociation, zCommitRef, zRewrittenCommit, zSessionIdentity, zSessionInsight, zSessionOutcome, zQualityMetrics, zSessionScorecard, zSessionStats, zSessionSummary, zSessionsPayload, zShutdownResponse, zSourceFormat, zSourceInfo, zStopReason, zSubagentRef, zTargetKind, zAnnotationPushItem, zAnnotationPushRequest, zAnnotationSummary, zAnnotationsPayload, zPullAnnotation, zQualitySession, zQualityPayload, zTaskSummary, zChangeSession, zMapNodeDetailPayload, zProjectTasksPayload, zTimelineSessionRef, zReviewListPayload, zTimestampInfo, zToolCallKind, zSessionEntry, zPublishRequest, zToolCallDetail, zTranscriptID, zPullSkipGateItem, zPullSkipGateRequest, zPullSkipGateResult, zPullSkipGateResponse, zTrendsPayload, zTurnDetail, zSessionDetailPayload, zTranscriptContent, zTypeOrigin, zUnifiedMetadata, zUnusualSignal, zChangeDetailPayload, zValueDomainKind, zValueDomain, zAnnotationTypeSummary, zTaxonomyFamilyNode, zTaxonomyNode, zVisibility, zPullTranscriptInfo, zPullListResponse, zWalkthroughStep, zWalkthroughTrail, zFamiliarityPayload } from "./contract/zod.gen.js";
2
- export type { ActivityEdge, AnnotationEntryTarget, AnnotationManifestResponse, AnnotationPushResult, AnnotationPushResponse, AnnotatorSummary, AssociationEvidenceObservation, AssociationID, BatchCreateAnnotationsErrorResponse, BatchCreateAnnotationsResponse, CLILoginQuery, ChangeSummary, ChannelSubscription, ChildSessionRef, CommitInfo, ContractVersion, CreateAnnotationRequest, BatchCreateAnnotationsRequest, CreateAnnotationResponse, DashboardPayload, DayStats, DiagnosticEntry, DiagnosticsInfo, DiffLine, DiffHunk, EdgeViolation, ExchangeCodeRequest, ExchangeCodeResponse, ChangeDiffPayload, FileChange, FileFamiliarity, FrictionCluster, GitContext, HealthResponse, HostSlug, InsightClassification, MapEdge, ClientMessage, MockConfigResponse, ModelID, ModelInfo, ProjectHash, ProjectContext, ProjectResolutionPayload, ProjectSummary, ProjectSummariesPayload, Provenance, PublishResponse, MapNode, MapGraphPayload, MapSlice, RedactionInfo, ReviewSuggestion, SchemaVersionResponse, SearchResult, SearchPayload, ServerMessage, SessionID, InsightEvidence, SessionAssociation, CommitRef, RewrittenCommit, SessionIdentity, SessionInsight, QualityMetrics, SessionScorecard, SessionStats, SessionSummary, SessionsPayload, ShutdownResponse, SourceInfo, SubagentRef, AnnotationPushItem, AnnotationPushRequest, AnnotationSummary, AnnotationsPayload, PullAnnotation, QualitySession, QualityPayload, TaskSummary, ChangeSession, MapNodeDetailPayload, ProjectTasksPayload, TimelineSessionRef, ReviewListPayload, TimestampInfo, SessionEntry, PublishRequest, ToolCallDetail, TranscriptID, PullSkipGateItem, PullSkipGateRequest, PullSkipGateResult, PullSkipGateResponse, TrendsPayload, TurnDetail, SessionDetailPayload, TranscriptContent, UnifiedMetadata, UnusualSignal, ChangeDetailPayload, ValueDomain, AnnotationTypeSummary, TaxonomyFamilyNode, TaxonomyNode, PullTranscriptInfo, PullListResponse, WalkthroughStep, WalkthroughTrail, FamiliarityPayload } from "./contract/zod.gen.js";
1
+ export { zActivityEdge, zAnnotationAxis, zAnnotationDatatype, zAnnotationEntryTarget, zAnnotationManifestResponse, zAnnotationPushStatus, zAnnotationPushResult, zAnnotationPushResponse, zAnnotationStatus, zAnnotatorKind, zAnnotatorSummary, zAssociationConclusion, zAssociationEvidenceKind, zAssociationEvidenceObservation, zAssociationID, zBatchCreateAnnotationsErrorResponse, zBatchCreateAnnotationsResponse, zBuiltinCommand, zCLILoginQuery, zChangeBinding, zChangeSummary, zChannelTopic, zChannelSubscription, zChildSessionRef, zCommitInfo, zConfidence, zContentKind, zContractVersion, zCreateAnnotationRequest, zBatchCreateAnnotationsRequest, zCreateAnnotationResponse, zDashboardPayload, zDayStats, zDecayLevel, zDiagnosticEntry, zDiagnosticsInfo, zDiffLineKind, zDiffLine, zDiffHunk, zEdgeViolationKind, zEdgeViolation, zEntryType, zExchangeCodeRequest, zExchangeCodeResponse, zFileChangeStatus, zChangeDiffPayload, zFileChange, zFileFamiliarity, zFrictionCluster, zHarness, zHealthResponse, zHostSlug, zInsightClassification, zInsightKind, zInsightProvenance, zInteractionType, zLicense, zMapEdge, zMapNodeKind, zMessageType, zClientMessage, zMockConfigResponse, zModelID, zModelInfo, zProjectHash, zProjectContext, zProjectResolutionPayload, zProjectSummary, zProjectSummariesPayload, zProvenance, zPublishResponse, zPublishedAssociation, zGitContext, zReadAttributionState, zReadStateGrade, zMapNode, zMapGraphPayload, zMapSlice, zRedactionInfo, zReviewSuggestion, zRewriteMethod, zRewriteResolution, zRole, zScaleKind, zSchemaVersionResponse, zSearchResult, zSearchPayload, zServerMessage, zSessionID, zInsightEvidence, zSessionAssociation, zCommitRef, zRewrittenCommit, zSessionIdentity, zSessionInsight, zSessionOutcome, zQualityMetrics, zSessionScorecard, zSessionStats, zSessionSummary, zSessionsPayload, zShutdownResponse, zSourceFormat, zSourceInfo, zStopReason, zSubagentRef, zTargetKind, zAnnotationPushItem, zAnnotationPushRequest, zAnnotationSummary, zAnnotationsPayload, zPullAnnotation, zQualitySession, zQualityPayload, zTaskSummary, zChangeSession, zMapNodeDetailPayload, zProjectTasksPayload, zTimelineSessionRef, zReviewListPayload, zTimestampInfo, zToolCallKind, zSessionEntry, zPublishRequest, zToolCallDetail, zTranscriptID, zPullSkipGateItem, zPullSkipGateRequest, zPullSkipGateResult, zPullSkipGateResponse, zTrendsPayload, zTurnDetail, zSessionDetailPayload, zTranscriptContent, zTypeOrigin, zUnifiedMetadata, zUnusualSignal, zChangeDetailPayload, zValueDomainKind, zValueDomain, zAnnotationTypeSummary, zTaxonomyFamilyNode, zTaxonomyNode, zVisibility, zPullTranscriptInfo, zPullListResponse, zWalkthroughStep, zWalkthroughTrail, zFamiliarityPayload } from "./contract/zod.gen.js";
2
+ export type { ActivityEdge, AnnotationEntryTarget, AnnotationManifestResponse, AnnotationPushResult, AnnotationPushResponse, AnnotatorSummary, AssociationEvidenceObservation, AssociationID, BatchCreateAnnotationsErrorResponse, BatchCreateAnnotationsResponse, CLILoginQuery, ChangeSummary, ChannelSubscription, ChildSessionRef, CommitInfo, ContractVersion, CreateAnnotationRequest, BatchCreateAnnotationsRequest, CreateAnnotationResponse, DashboardPayload, DayStats, DiagnosticEntry, DiagnosticsInfo, DiffLine, DiffHunk, EdgeViolation, ExchangeCodeRequest, ExchangeCodeResponse, ChangeDiffPayload, FileChange, FileFamiliarity, FrictionCluster, HealthResponse, HostSlug, InsightClassification, MapEdge, ClientMessage, MockConfigResponse, ModelID, ModelInfo, ProjectHash, ProjectContext, ProjectResolutionPayload, ProjectSummary, ProjectSummariesPayload, Provenance, PublishResponse, PublishedAssociation, GitContext, MapNode, MapGraphPayload, MapSlice, RedactionInfo, ReviewSuggestion, SchemaVersionResponse, SearchResult, SearchPayload, ServerMessage, SessionID, InsightEvidence, SessionAssociation, CommitRef, RewrittenCommit, SessionIdentity, SessionInsight, QualityMetrics, SessionScorecard, SessionStats, SessionSummary, SessionsPayload, ShutdownResponse, SourceInfo, SubagentRef, AnnotationPushItem, AnnotationPushRequest, AnnotationSummary, AnnotationsPayload, PullAnnotation, QualitySession, QualityPayload, TaskSummary, ChangeSession, MapNodeDetailPayload, ProjectTasksPayload, TimelineSessionRef, ReviewListPayload, TimestampInfo, SessionEntry, PublishRequest, ToolCallDetail, TranscriptID, PullSkipGateItem, PullSkipGateRequest, PullSkipGateResult, PullSkipGateResponse, TrendsPayload, TurnDetail, SessionDetailPayload, TranscriptContent, UnifiedMetadata, UnusualSignal, ChangeDetailPayload, ValueDomain, AnnotationTypeSummary, TaxonomyFamilyNode, TaxonomyNode, PullTranscriptInfo, PullListResponse, WalkthroughStep, WalkthroughTrail, FamiliarityPayload } from "./contract/zod.gen.js";
@@ -1,2 +1,2 @@
1
1
  // Code generated from the canonical Go/OpenAPI contract. DO NOT EDIT.
2
- export { zActivityEdge, zAnnotationAxis, zAnnotationDatatype, zAnnotationEntryTarget, zAnnotationManifestResponse, zAnnotationPushStatus, zAnnotationPushResult, zAnnotationPushResponse, zAnnotationStatus, zAnnotatorKind, zAnnotatorSummary, zAssociationConclusion, zAssociationEvidenceKind, zAssociationEvidenceObservation, zAssociationID, zBatchCreateAnnotationsErrorResponse, zBatchCreateAnnotationsResponse, zBuiltinCommand, zCLILoginQuery, zChangeBinding, zChangeSummary, zChannelTopic, zChannelSubscription, zChildSessionRef, zCommitInfo, zConfidence, zContentKind, zContractVersion, zCreateAnnotationRequest, zBatchCreateAnnotationsRequest, zCreateAnnotationResponse, zDashboardPayload, zDayStats, zDecayLevel, zDiagnosticEntry, zDiagnosticsInfo, zDiffLineKind, zDiffLine, zDiffHunk, zEdgeViolationKind, zEdgeViolation, zEntryType, zExchangeCodeRequest, zExchangeCodeResponse, zFileChangeStatus, zChangeDiffPayload, zFileChange, zFileFamiliarity, zFrictionCluster, zGitContext, zHarness, zHealthResponse, zHostSlug, zInsightClassification, zInsightKind, zInsightProvenance, zInteractionType, zLicense, zMapEdge, zMapNodeKind, zMessageType, zClientMessage, zMockConfigResponse, zModelID, zModelInfo, zProjectHash, zProjectContext, zProjectResolutionPayload, zProjectSummary, zProjectSummariesPayload, zProvenance, zPublishResponse, zReadAttributionState, zReadStateGrade, zMapNode, zMapGraphPayload, zMapSlice, zRedactionInfo, zReviewSuggestion, zRewriteMethod, zRewriteResolution, zRole, zScaleKind, zSchemaVersionResponse, zSearchResult, zSearchPayload, zServerMessage, zSessionID, zInsightEvidence, zSessionAssociation, zCommitRef, zRewrittenCommit, zSessionIdentity, zSessionInsight, zSessionOutcome, zQualityMetrics, zSessionScorecard, zSessionStats, zSessionSummary, zSessionsPayload, zShutdownResponse, zSourceFormat, zSourceInfo, zStopReason, zSubagentRef, zTargetKind, zAnnotationPushItem, zAnnotationPushRequest, zAnnotationSummary, zAnnotationsPayload, zPullAnnotation, zQualitySession, zQualityPayload, zTaskSummary, zChangeSession, zMapNodeDetailPayload, zProjectTasksPayload, zTimelineSessionRef, zReviewListPayload, zTimestampInfo, zToolCallKind, zSessionEntry, zPublishRequest, zToolCallDetail, zTranscriptID, zPullSkipGateItem, zPullSkipGateRequest, zPullSkipGateResult, zPullSkipGateResponse, zTrendsPayload, zTurnDetail, zSessionDetailPayload, zTranscriptContent, zTypeOrigin, zUnifiedMetadata, zUnusualSignal, zChangeDetailPayload, zValueDomainKind, zValueDomain, zAnnotationTypeSummary, zTaxonomyFamilyNode, zTaxonomyNode, zVisibility, zPullTranscriptInfo, zPullListResponse, zWalkthroughStep, zWalkthroughTrail, zFamiliarityPayload } from "./contract/zod.gen.js";
2
+ export { zActivityEdge, zAnnotationAxis, zAnnotationDatatype, zAnnotationEntryTarget, zAnnotationManifestResponse, zAnnotationPushStatus, zAnnotationPushResult, zAnnotationPushResponse, zAnnotationStatus, zAnnotatorKind, zAnnotatorSummary, zAssociationConclusion, zAssociationEvidenceKind, zAssociationEvidenceObservation, zAssociationID, zBatchCreateAnnotationsErrorResponse, zBatchCreateAnnotationsResponse, zBuiltinCommand, zCLILoginQuery, zChangeBinding, zChangeSummary, zChannelTopic, zChannelSubscription, zChildSessionRef, zCommitInfo, zConfidence, zContentKind, zContractVersion, zCreateAnnotationRequest, zBatchCreateAnnotationsRequest, zCreateAnnotationResponse, zDashboardPayload, zDayStats, zDecayLevel, zDiagnosticEntry, zDiagnosticsInfo, zDiffLineKind, zDiffLine, zDiffHunk, zEdgeViolationKind, zEdgeViolation, zEntryType, zExchangeCodeRequest, zExchangeCodeResponse, zFileChangeStatus, zChangeDiffPayload, zFileChange, zFileFamiliarity, zFrictionCluster, zHarness, zHealthResponse, zHostSlug, zInsightClassification, zInsightKind, zInsightProvenance, zInteractionType, zLicense, zMapEdge, zMapNodeKind, zMessageType, zClientMessage, zMockConfigResponse, zModelID, zModelInfo, zProjectHash, zProjectContext, zProjectResolutionPayload, zProjectSummary, zProjectSummariesPayload, zProvenance, zPublishResponse, zPublishedAssociation, zGitContext, zReadAttributionState, zReadStateGrade, zMapNode, zMapGraphPayload, zMapSlice, zRedactionInfo, zReviewSuggestion, zRewriteMethod, zRewriteResolution, zRole, zScaleKind, zSchemaVersionResponse, zSearchResult, zSearchPayload, zServerMessage, zSessionID, zInsightEvidence, zSessionAssociation, zCommitRef, zRewrittenCommit, zSessionIdentity, zSessionInsight, zSessionOutcome, zQualityMetrics, zSessionScorecard, zSessionStats, zSessionSummary, zSessionsPayload, zShutdownResponse, zSourceFormat, zSourceInfo, zStopReason, zSubagentRef, zTargetKind, zAnnotationPushItem, zAnnotationPushRequest, zAnnotationSummary, zAnnotationsPayload, zPullAnnotation, zQualitySession, zQualityPayload, zTaskSummary, zChangeSession, zMapNodeDetailPayload, zProjectTasksPayload, zTimelineSessionRef, zReviewListPayload, zTimestampInfo, zToolCallKind, zSessionEntry, zPublishRequest, zToolCallDetail, zTranscriptID, zPullSkipGateItem, zPullSkipGateRequest, zPullSkipGateResult, zPullSkipGateResponse, zTrendsPayload, zTurnDetail, zSessionDetailPayload, zTranscriptContent, zTypeOrigin, zUnifiedMetadata, zUnusualSignal, zChangeDetailPayload, zValueDomainKind, zValueDomain, zAnnotationTypeSummary, zTaxonomyFamilyNode, zTaxonomyNode, zVisibility, zPullTranscriptInfo, zPullListResponse, zWalkthroughStep, zWalkthroughTrail, zFamiliarityPayload } from "./contract/zod.gen.js";
@@ -1,4 +1,4 @@
1
- export declare const VillageAPIVersion: "0.7.0";
1
+ export declare const VillageAPIVersion: "0.8.0";
2
2
  export declare const PeasantLocalAPIVersion: "0.5.0";
3
- export declare const TypesVersion: "0.4.0";
3
+ export declare const TypesVersion: "0.5.0";
4
4
  export declare const MetadataSchemaVersion: 9;
@@ -1,5 +1,5 @@
1
1
  // Code generated from the canonical Go/OpenAPI contract. DO NOT EDIT.
2
- export const VillageAPIVersion = "0.7.0";
2
+ export const VillageAPIVersion = "0.8.0";
3
3
  export const PeasantLocalAPIVersion = "0.5.0";
4
- export const TypesVersion = "0.4.0";
4
+ export const TypesVersion = "0.5.0";
5
5
  export const MetadataSchemaVersion = 9;
@@ -1,5 +1,22 @@
1
1
  import type * as Schema from "../../index.js";
2
2
  export interface paths {
3
+ "/api/v1/annotations": {
4
+ parameters: {
5
+ query?: never;
6
+ header?: never;
7
+ path?: never;
8
+ cookie?: never;
9
+ };
10
+ get?: never;
11
+ put?: never;
12
+ /** @description Push annotations for the authenticated owner. Every item selects exactly one target arm: targetKind association requires only targetAssociationId, while every other target kind rejects targetAssociationId. Entry targets require a non-empty sessionId; endIndex must be greater than entryIndex and is enforced by the request validation boundary. The server resolves association targets owner-scoped before writing the all-or-nothing batch. */
13
+ post: operations["pushAnnotations"];
14
+ delete?: never;
15
+ options?: never;
16
+ head?: never;
17
+ patch?: never;
18
+ trace?: never;
19
+ };
3
20
  "/api/v1/annotations/manifest": {
4
21
  parameters: {
5
22
  query?: never;
@@ -196,7 +213,22 @@ export interface components {
196
213
  subagents?: components["schemas"]["SchemaSubagentRef"][];
197
214
  timestamp?: components["schemas"]["SchemaTimestampInfo"];
198
215
  };
216
+ SchemaAnnotationEntryTarget: Schema.AnnotationEntryTarget;
199
217
  SchemaAnnotationManifestResponse: Schema.AnnotationManifestResponse;
218
+ SchemaAnnotationPushItem: Schema.AnnotationPushItem;
219
+ SchemaAnnotationPushRequest: Schema.AnnotationPushRequest;
220
+ SchemaAnnotationPushResponse: Schema.AnnotationPushResponse;
221
+ SchemaAnnotationPushResult: Schema.AnnotationPushResult;
222
+ /**
223
+ * Annotation Push Status
224
+ * @description Per-item annotation push outcome
225
+ * @example created
226
+ * @example updated
227
+ * @example skipped
228
+ * @example error
229
+ * @enum {string}
230
+ */
231
+ SchemaAnnotationPushStatus: Schema.AnnotationPushStatus;
200
232
  /**
201
233
  * Annotator Kind
202
234
  * @description Type of entity that produced an annotation: human, agent (AI model), or rule (automated classifier)
@@ -259,6 +291,7 @@ export interface components {
259
291
  SchemaProjectHash: Schema.ProjectHash;
260
292
  SchemaProvenance: Schema.Provenance;
261
293
  SchemaPublishResponse: Schema.PublishResponse;
294
+ SchemaPublishedAssociation: Schema.PublishedAssociation;
262
295
  SchemaPullAnnotation: Schema.PullAnnotation;
263
296
  SchemaPullListResponse: Schema.PullListResponse;
264
297
  SchemaPullSkipGateItem: Schema.PullSkipGateItem;
@@ -368,6 +401,30 @@ export interface components {
368
401
  }
369
402
  export type $defs = Record<string, never>;
370
403
  export interface operations {
404
+ pushAnnotations: {
405
+ parameters: {
406
+ query?: never;
407
+ header?: never;
408
+ path?: never;
409
+ cookie?: never;
410
+ };
411
+ requestBody?: {
412
+ content: {
413
+ "application/json": components["schemas"]["SchemaAnnotationPushRequest"];
414
+ };
415
+ };
416
+ responses: {
417
+ /** @description OK */
418
+ 200: {
419
+ headers: {
420
+ [name: string]: unknown;
421
+ };
422
+ content: {
423
+ "application/json": components["schemas"]["SchemaAnnotationPushResponse"];
424
+ };
425
+ };
426
+ };
427
+ };
371
428
  getAnnotationManifest: {
372
429
  parameters: {
373
430
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peasant-labs/schema",
3
- "version": "0.1.0-rc8",
3
+ "version": "0.1.0-rc9",
4
4
  "description": "Generated TypeScript contract bindings for the peasant-labs schema module",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {