@danxbot/plugin-sdk 0.2.36 → 0.2.39

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.
@@ -44,10 +44,12 @@ declare module "@danxbot/card-kit@1" {
44
44
  values: StatusReasonValues;
45
45
  }
46
46
  type PacingLimit = "five_hour" | "weekly" | "spend";
47
+ type ProvenanceSourceKind = "card" | "comment" | "session_thread" | "problem" | "url";
48
+ type ProvenancePartyKind = "person" | "agent";
47
49
 
48
50
  type IssueStatus$1 = "Review" | "ToDo" | "In Progress" | "Backlog" | "Done" | "Cancelled";
49
51
  type EffortLevelName = "min" | "very_low" | "low" | "medium" | "high" | "very_high" | "max";
50
- type IssueProblemType = "question" | "action" | "design";
52
+ type IssueProblemType = "question" | "action" | "design" | "decision_review";
51
53
  type DecisionOutcome = "answered" | "rejected";
52
54
  type IssueDependencyKind = "depends_on" | "conflict_on";
53
55
  type IssueDispatchKind = "work" | "triage" | "recovery" | "flesh-out" | "chat" | "main-sync-repair" | "worktree-maintenance" | "manual" | "landing" | `gate-${string}`;
@@ -113,6 +115,12 @@ declare module "@danxbot/card-kit@1" {
113
115
  triage_enabled: boolean;
114
116
  content_hash: string;
115
117
  }
118
+ type CommentResourceType = "issue" | "plan" | "problem" | "design" | "decision";
119
+ interface CommentResourceTag {
120
+ tag: string;
121
+ resource_type: CommentResourceType | null;
122
+ resource_id: string | null;
123
+ }
116
124
  interface AuthorV2 {
117
125
  name: string;
118
126
  kind: "agent" | "person";
@@ -206,6 +214,21 @@ declare module "@danxbot/card-kit@1" {
206
214
  deleted_at: string | null;
207
215
  }
208
216
  type QualityGateStatus = "pending" | "pass" | "fail" | "skipped";
217
+ interface ProvenanceRecordV2 {
218
+ id: number;
219
+ quote: string | null;
220
+ reasoning: string | null;
221
+ source: ProvenanceSourceV2 | null;
222
+ recorded_by: AuthorV2;
223
+ recorded_at: string;
224
+ }
225
+ interface ProvenanceSourceV2 {
226
+ kind: ProvenanceSourceKind;
227
+ ref: string;
228
+ card_id: string | null;
229
+ author: AuthorV2 | null;
230
+ at: string | null;
231
+ }
209
232
 
210
233
  type QualityGatePhase = "plan" | "code";
211
234
 
@@ -217,7 +240,7 @@ declare module "@danxbot/card-kit@1" {
217
240
  type SourceOrigin = "danxbot" | MirrorProviderId | "";
218
241
  type ControlValue = boolean | string;
219
242
 
220
- type ControlSource = "card" | "plan" | "board" | "system";
243
+ type ControlSource = "card" | "plan" | "board" | "team" | "system";
221
244
  interface ControlFallback {
222
245
  readonly value: ControlValue;
223
246
  readonly source: Exclude<ControlSource, "card">;
@@ -230,6 +253,37 @@ declare module "@danxbot/card-kit@1" {
230
253
  reason: StatusReason | ProfileName | null;
231
254
  }
232
255
 
256
+ type DocsPromotionStatus = "running" | "drafted" | "failed" | "landing" | "landed" | "superseded" | "waiting";
257
+
258
+ interface DocsReviewView {
259
+ plan_id: number;
260
+ repo: string;
261
+ attempt: number;
262
+ status: DocsPromotionStatus;
263
+ summary: string;
264
+ head_sha: string;
265
+ change_counts: {
266
+ added: number;
267
+ changed: number;
268
+ removed: number;
269
+ } | null;
270
+ landed_sha: string | null;
271
+ failure_reason: string | null;
272
+ approve_solution_id: number;
273
+ withdraw_solution_id: number;
274
+ }
275
+ type DecisionRecordKind = "design" | "business_rule" | "architecture" | "other";
276
+ type DecisionRecordAction = "created" | "changed" | "deleted" | "restored";
277
+ type DecisionMadeBy = "agent" | "human";
278
+ type DecisionApprovalAction = "approve" | "unapprove";
279
+
280
+ interface DecisionApprovalState {
281
+ approved: boolean;
282
+ by_user_id: number | null;
283
+ by_name: string | null;
284
+ at: string | null;
285
+ }
286
+
233
287
  type ListType = "archived" | "review" | "ready" | "in_progress" | "completed" | "cancelled";
234
288
 
235
289
  interface SolutionContent {
@@ -239,11 +293,7 @@ declare module "@danxbot/card-kit@1" {
239
293
  con: string;
240
294
  recommended: boolean;
241
295
  }
242
-
243
- interface DocsProposalPromotionV2 {
244
- plan_id: number;
245
- attempt: number;
246
- }
296
+ type DecisionReviewChoiceKind = "accept" | "revert" | "restore" | "reject";
247
297
 
248
298
  interface V2CopyComment {
249
299
  author: string;
@@ -266,6 +316,12 @@ declare module "@danxbot/card-kit@1" {
266
316
  } | {
267
317
  kind: "design";
268
318
  index: number;
319
+ } | {
320
+ kind: "decision";
321
+ index: number;
322
+ } | {
323
+ kind: "label";
324
+ text: string;
269
325
  };
270
326
  interface V2CopyBlobRef {
271
327
  sha256: string;
@@ -287,6 +343,7 @@ declare module "@danxbot/card-kit@1" {
287
343
  content: string;
288
344
  }[];
289
345
  option_groups: DesignOptionGroup[];
346
+ checklist: string[];
290
347
  built_from_commit: string;
291
348
  note: string;
292
349
  created_by: string;
@@ -329,15 +386,31 @@ declare module "@danxbot/card-kit@1" {
329
386
  created_at: string;
330
387
  updated_at: string;
331
388
  }
332
- interface V2CopyDocsProposal {
333
- repo: string;
334
- page_id: string;
335
- new_page_title: string | null;
336
- change: string;
389
+ interface V2CopyDecisionApproval {
390
+ action: DecisionApprovalAction;
391
+ by_email: string | null;
392
+ by_name: string;
393
+ at: string;
394
+ }
395
+ interface V2CopyDecisionVersion {
396
+ version_no: number;
397
+ action: DecisionRecordAction;
398
+ text: string;
399
+ kind: DecisionRecordKind;
400
+ impact: number;
401
+ confidence: number;
402
+ made_by: DecisionMadeBy;
403
+ made_by_email: string | null;
404
+ made_by_name: string | null;
405
+ made_by_team_agent: string | null;
406
+ provenance: V2CopyProvenanceRecord[];
337
407
  author: string;
338
408
  team_agent: string | null;
339
409
  created_at: string;
340
- updated_at: string;
410
+ approvals: V2CopyDecisionApproval[];
411
+ }
412
+ interface V2CopyDecisionRecord {
413
+ versions: V2CopyDecisionVersion[];
341
414
  }
342
415
  interface V2CopyAc {
343
416
  title: string;
@@ -400,8 +473,17 @@ declare module "@danxbot/card-kit@1" {
400
473
  interface V2CopySolution extends SolutionContent {
401
474
  removed: boolean;
402
475
  design_index: number | null;
476
+ decision_choice: V2CopyDecisionChoice | null;
403
477
  steps: V2CopyStep[];
404
478
  }
479
+ interface V2CopyDecisionChoice {
480
+ kind: DecisionReviewChoiceKind;
481
+ version_no: number;
482
+ }
483
+ interface V2CopyDecisionReview {
484
+ record_index: number;
485
+ answered_version_no: number | null;
486
+ }
405
487
  interface V2CopyStep {
406
488
  title: string;
407
489
  description: string | null;
@@ -415,6 +497,29 @@ declare module "@danxbot/card-kit@1" {
415
497
  decided_by: string;
416
498
  decided_at: string;
417
499
  retracted_at: string | null;
500
+ provenance: V2CopyProvenanceRecord | null;
501
+ }
502
+ interface V2CopyProvenanceParty {
503
+ kind: ProvenancePartyKind;
504
+ email: string | null;
505
+ team_agent: string | null;
506
+ name: string;
507
+ }
508
+ interface V2CopyProvenanceSource {
509
+ kind: ProvenanceSourceKind;
510
+ ref: string;
511
+ comment_index: number | null;
512
+ problem_index: number | null;
513
+ card_linked: boolean;
514
+ author: V2CopyProvenanceParty | null;
515
+ at: string | null;
516
+ }
517
+ interface V2CopyProvenanceRecord {
518
+ quote: string | null;
519
+ reasoning: string | null;
520
+ source: V2CopyProvenanceSource | null;
521
+ recorded_by: V2CopyProvenanceParty;
522
+ recorded_at: string;
418
523
  }
419
524
  interface V2CopyProblem {
420
525
  statement: string;
@@ -422,6 +527,7 @@ declare module "@danxbot/card-kit@1" {
422
527
  type: IssueProblemType;
423
528
  summary: string | null;
424
529
  design_element: string | null;
530
+ decision_review: V2CopyDecisionReview | null;
425
531
  removed: boolean;
426
532
  solutions: V2CopySolution[];
427
533
  decisions: V2CopyDecision[];
@@ -446,7 +552,8 @@ declare module "@danxbot/card-kit@1" {
446
552
  checklists: V2CopyChecklist[];
447
553
  comments: V2CopyComment[];
448
554
  agent_notes: V2CopyAgentNote[];
449
- docs_proposals: V2CopyDocsProposal[];
555
+ decision_records: V2CopyDecisionRecord[];
556
+ created_tags: V2CopyCommentTag[];
450
557
  dependencies: V2CopyDependency[];
451
558
  retro: V2CopyRetro | null;
452
559
  mirrors: V2CopyMirror[];
@@ -482,7 +589,7 @@ declare module "@danxbot/card-kit@1" {
482
589
  name: string;
483
590
  avatar_url: string | null;
484
591
  }
485
- type AssignedAgentKind = "session" | "person" | "worker" | "label";
592
+ type AssignedAgentKind = "person" | "session" | "worker" | "label";
486
593
 
487
594
  interface UsageTokenCounts {
488
595
  input: number;
@@ -589,6 +696,23 @@ declare module "@danxbot/card-kit@1" {
589
696
  refetch: () => void;
590
697
  }
591
698
 
699
+ interface CommentTagOption extends CommentResourceTag {
700
+ name: string | null;
701
+ card_id: string | null;
702
+ }
703
+
704
+ interface DescendantNeedsYouView {
705
+ readonly card_id: string;
706
+ readonly card_title: string;
707
+ readonly card_status: string;
708
+ readonly problems: readonly {
709
+ readonly id: number;
710
+ readonly type: IssueProblemType;
711
+ readonly statement: string;
712
+ readonly created_at: string;
713
+ }[];
714
+ }
715
+
592
716
  interface ReadinessBlocker {
593
717
  worker_id: string;
594
718
  incomplete_count: number;
@@ -730,7 +854,7 @@ declare module "@danxbot/card-kit@1" {
730
854
  name: string;
731
855
  items: ChecklistItemView[];
732
856
  }
733
- type DesignDecisionOutcome = "rejected" | "changes_requested" | "approved";
857
+ type DesignDecisionOutcome = "rejected" | "approved" | "changes_requested";
734
858
  interface ChecklistHistoryViewV2 {
735
859
  action: "create" | "rename" | "remove" | "add_item" | "update_item" | "remove_item";
736
860
  checklist: string;
@@ -764,7 +888,8 @@ declare module "@danxbot/card-kit@1" {
764
888
  via_key?: undefined | null | ViaKey;
765
889
  metadata?: unknown;
766
890
  answers_decision_id?: undefined | null | number;
767
- tags: Array<{ kind: "problem"; ref: number; } | { kind: "design"; ref: number; }>;
891
+ tags: Array<{ kind: "problem"; ref: number; } | { kind: "design"; ref: number; } | { kind: "decision"; ref: number; }>;
892
+ resource_tags: Array<CommentResourceTag>;
768
893
  reply_to_comment_id: null | number;
769
894
  reply_phase: null | "ack" | "reply";
770
895
  reply_state: null | CommentReplyStateV2;
@@ -828,6 +953,8 @@ declare module "@danxbot/card-kit@1" {
828
953
  pull_request_url?: undefined | null | string;
829
954
  start_commit?: undefined | null | { at: string; sha: string | null; error: "no_repo" | "not_github_repo" | "no_token" | "github_refused" | "github_unreachable" | "unreadable_tip" | "unexpected" | null; error_detail: string | null; };
830
955
  problem_total?: undefined | number;
956
+ decision_record_total?: undefined | number;
957
+ decision_record_approved_total?: undefined | number;
831
958
  lane_header?: undefined | false | true;
832
959
  design_count?: undefined | number;
833
960
  open_action_count?: undefined | number;
@@ -837,7 +964,7 @@ declare module "@danxbot/card-kit@1" {
837
964
  dispatch?: undefined | null | { started_at: string | null; };
838
965
  dispatch_kind?: undefined | null | "work" | "triage" | "recovery" | "flesh-out" | "chat" | "main-sync-repair" | "worktree-maintenance" | "manual" | "landing" | `gate-${string}`;
839
966
  assignment_mode?: undefined | "manual" | "automated";
840
- assigned_agent_kind?: undefined | null | "session" | "person" | "worker" | "label";
967
+ assigned_agent_kind?: undefined | null | "person" | "session" | "worker" | "label";
841
968
  assigned_agent_pause?: undefined | null | HolderAgentPause;
842
969
  assigned_agent_repo_copy?: undefined | null | RepoProfileCopy;
843
970
  latest_work_dispatch?: undefined | null | LatestWorkDispatchViewV2;
@@ -852,6 +979,8 @@ declare module "@danxbot/card-kit@1" {
852
979
  conflict_dep_ids?: undefined | Record<string, number>;
853
980
  conflict_on_active_count?: undefined | number;
854
981
  children?: undefined | Array<string>;
982
+ descendant_ids?: undefined | Array<string>;
983
+ descendant_needs_you?: undefined | Array<DescendantNeedsYouView>;
855
984
  blocked_descendants?: undefined | Array<InheritedBlockedViewV2>;
856
985
  child_assignments?: undefined | Array<ChildAssignmentViewV2>;
857
986
  ac_total?: undefined | number;
@@ -860,6 +989,7 @@ declare module "@danxbot/card-kit@1" {
860
989
  comments_count?: undefined | number;
861
990
  agent_notes_count?: undefined | number;
862
991
  comment_recipient?: undefined | { kind: "agent"; by: AuthorV2; reachability: CommentReachabilityV2; } | { kind: "none"; waiting_on: { kind: "plan"; id: number; name: string; } | { kind: "card"; id: string; }; };
992
+ comment_tags?: undefined | Array<CommentTagOption>;
863
993
  has_retro?: undefined | false | true;
864
994
  primary_attachment?: undefined | null | AttachmentPreviewV2;
865
995
  in_progress_derived?: undefined | false | true;
@@ -889,18 +1019,95 @@ declare module "@danxbot/card-kit@1" {
889
1019
  text: string;
890
1020
  metadata: unknown;
891
1021
  }>);
892
- docs_proposals?: undefined | (Array<{
1022
+ decision_records?: undefined | (Array<{
893
1023
  id: number;
894
- repo: string;
895
- page_id: string;
896
- new_page_title: null | string;
897
- change: string;
1024
+ ref: string;
1025
+ current_version: number;
1026
+ deleted_at: null | string;
1027
+ approved: boolean;
1028
+ approval: DecisionApprovalState;
1029
+ record_created_at: string;
1030
+ updated_at: string;
1031
+ action: "created" | "changed" | "deleted" | "restored";
1032
+ text: string;
1033
+ kind: "design" | "business_rule" | "architecture" | "other";
1034
+ impact: number;
1035
+ confidence: number;
1036
+ made_by: "agent" | "human";
1037
+ made_by_user_id: null | number;
1038
+ made_by_name: null | string;
1039
+ made_by_author: AuthorV2;
1040
+ made_by_is_writer: boolean;
1041
+ provenance: Array<ProvenanceRecordV2>;
1042
+ author: string;
1043
+ by: AuthorV2;
1044
+ via_key: null | ViaKey;
1045
+ created_at: string;
1046
+ comment_count: number;
1047
+ versions?: undefined | (Array<{
1048
+ id: number;
1049
+ record_id: number;
1050
+ ref: string;
1051
+ version_no: number;
1052
+ approval: DecisionApprovalState;
1053
+ action: "created" | "changed" | "deleted" | "restored";
1054
+ text: string;
1055
+ kind: "design" | "business_rule" | "architecture" | "other";
1056
+ impact: number;
1057
+ confidence: number;
1058
+ made_by: "agent" | "human";
1059
+ made_by_user_id: null | number;
1060
+ made_by_name: null | string;
1061
+ made_by_author: AuthorV2;
1062
+ made_by_is_writer: boolean;
1063
+ provenance: Array<ProvenanceRecordV2>;
1064
+ author: string;
1065
+ by: AuthorV2;
1066
+ via_key: null | ViaKey;
1067
+ created_at: string;
1068
+ }>);
1069
+ approvals?: undefined | (Array<{
1070
+ id: number;
1071
+ record_id: number;
1072
+ ref: string;
1073
+ version_no: number;
1074
+ action: "approve" | "unapprove";
1075
+ by_user_id: null | number;
1076
+ by_name: string;
1077
+ at: string;
1078
+ }>);
1079
+ }>);
1080
+ decision_record_versions?: undefined | (Array<{
1081
+ id: number;
1082
+ record_id: number;
1083
+ ref: string;
1084
+ version_no: number;
1085
+ approval: DecisionApprovalState;
1086
+ action: "created" | "changed" | "deleted" | "restored";
1087
+ text: string;
1088
+ kind: "design" | "business_rule" | "architecture" | "other";
1089
+ impact: number;
1090
+ confidence: number;
1091
+ made_by: "agent" | "human";
1092
+ made_by_user_id: null | number;
1093
+ made_by_name: null | string;
1094
+ made_by_author: AuthorV2;
1095
+ made_by_is_writer: boolean;
1096
+ provenance: Array<ProvenanceRecordV2>;
898
1097
  author: string;
899
1098
  by: AuthorV2;
900
1099
  via_key: null | ViaKey;
901
- promotion: null | DocsProposalPromotionV2;
902
1100
  created_at: string;
903
- updated_at: string;
1101
+ }>);
1102
+ decision_record_approvals?: undefined | (Array<{
1103
+ id: number;
1104
+ record_id: number;
1105
+ ref: string;
1106
+ version_no: number;
1107
+ action: "approve" | "unapprove";
1108
+ by_user_id: null | number;
1109
+ by_name: string;
1110
+ at: string;
904
1111
  }>);
905
1112
  designs?: undefined | (Array<{
906
1113
  id: number;
@@ -909,7 +1116,7 @@ declare module "@danxbot/card-kit@1" {
909
1116
  created_by: string;
910
1117
  created_at: string;
911
1118
  archived_at: null | string;
912
- review_state: "rejected" | "awaiting_review" | "changes_requested" | "approved";
1119
+ review_state: "rejected" | "approved" | "awaiting_review" | "changes_requested";
913
1120
  revision_count: number;
914
1121
  latest_revision_no: number;
915
1122
  chosen_options: null | OptionSelection;
@@ -926,12 +1133,13 @@ declare module "@danxbot/card-kit@1" {
926
1133
  bundle_available: boolean;
927
1134
  screenshot_available: boolean;
928
1135
  option_groups: Array<DesignOptionGroup>;
1136
+ checklist: Array<string>;
929
1137
  source_files?: undefined | Array<DesignSourceFile>;
930
1138
  }>);
931
1139
  decisions?: undefined | (Array<{
932
1140
  decision_id: number;
933
1141
  revision_no: number;
934
- outcome: "rejected" | "changes_requested" | "approved";
1142
+ outcome: "rejected" | "approved" | "changes_requested";
935
1143
  note: null | string;
936
1144
  decided_by: string;
937
1145
  decided_by_ref: ActorRef;
@@ -941,9 +1149,9 @@ declare module "@danxbot/card-kit@1" {
941
1149
  }>);
942
1150
  pull_request_reviews?: undefined | (Array<{
943
1151
  id: number;
944
- kind: "review" | "comment" | "thread";
1152
+ kind: "comment" | "review" | "thread";
945
1153
  author_login: string;
946
- state: null | "changes_requested" | "approved" | "commented" | "dismissed";
1154
+ state: null | "approved" | "changes_requested" | "commented" | "dismissed";
947
1155
  body: string;
948
1156
  html_url: string;
949
1157
  path: null | string;
@@ -977,12 +1185,17 @@ declare module "@danxbot/card-kit@1" {
977
1185
  id: number;
978
1186
  ref: string;
979
1187
  name: string;
1188
+ }>;
1189
+ inherited_plans?: undefined | Array<{
1190
+ id: number;
1191
+ ref: string;
1192
+ name: string;
980
1193
  }>;
981
1194
  mirrors?: undefined | (Array<{
982
1195
  target_type: "trello" | "slack" | "asana";
983
1196
  target_url: string;
984
1197
  sync_state: "synced" | "out_of_sync" | "error" | "dead" | "unavailable" | "diverged";
985
- dead_reason: "" | "archived" | "deleted";
1198
+ dead_reason: "" | "deleted" | "archived";
986
1199
  source_ref: string;
987
1200
  last_error: null | StatusReason;
988
1201
  owed: Array<"comments" | "checklists" | "attachments" | "title" | "description" | "status" | "type" | "priority" | "parent_child" | "dependencies" | "card_create" | "card_delete">;
@@ -1011,10 +1224,10 @@ declare module "@danxbot/card-kit@1" {
1011
1224
  }>);
1012
1225
  controls?: undefined | (Array<{
1013
1226
  key: string;
1014
- scope: "board" | "plan" | "card";
1227
+ scope: "board" | "plan" | "card" | "team";
1015
1228
  scope_id: string;
1016
1229
  value: null | string | false | true;
1017
- source: "board" | "plan" | "card" | "system" | "inherit";
1230
+ source: "board" | "plan" | "card" | "team" | "system" | "inherit";
1018
1231
  base_hash: string;
1019
1232
  kind: "boolean" | "enum" | "branch" | "markdown";
1020
1233
  options: null | Array<string>;
@@ -1022,9 +1235,12 @@ declare module "@danxbot/card-kit@1" {
1022
1235
  system_default: string | false | true;
1023
1236
  fallback: null | ControlFallback;
1024
1237
  overridable: boolean;
1238
+ default_changed: boolean;
1025
1239
  }>);
1026
1240
  comments_page?: undefined | RelationPageView;
1027
1241
  agent_notes_page?: undefined | RelationPageView;
1242
+ decision_record_versions_page?: undefined | RelationPageView;
1243
+ decision_record_approvals_page?: undefined | RelationPageView;
1028
1244
  history_page?: undefined | RelationPageView;
1029
1245
  problems?: undefined | Array<ProblemViewV2>;
1030
1246
  subtree?: undefined | Array<IssueViewV2>;
@@ -1047,7 +1263,7 @@ declare module "@danxbot/card-kit@1" {
1047
1263
  phase: "plan" | "code";
1048
1264
  };
1049
1265
  type ProblemViewV2 = {
1050
- type: "question" | "action" | "design";
1266
+ type: "question" | "action" | "design" | "decision_review";
1051
1267
  open: boolean;
1052
1268
  ordinal: number;
1053
1269
  id: number;
@@ -1055,6 +1271,7 @@ declare module "@danxbot/card-kit@1" {
1055
1271
  updated_at: string;
1056
1272
  content_hash: string;
1057
1273
  summary: null | string;
1274
+ comment_count: number;
1058
1275
  decisions: Array<{
1059
1276
  id: number;
1060
1277
  problem_id: number;
@@ -1068,17 +1285,47 @@ declare module "@danxbot/card-kit@1" {
1068
1285
  decided_at: string;
1069
1286
  retracted_at: null | string;
1070
1287
  relayed_by_session: null | string;
1288
+ provenance: null | ProvenanceRecordV2;
1071
1289
  content_hash: string;
1072
1290
  }>;
1073
1291
  feedback_consent: boolean;
1074
1292
  choice_locked: boolean;
1075
- comment_count: number;
1293
+ docs_review: null | DocsReviewView;
1076
1294
  needs_person: boolean;
1077
1295
  issue_id: string;
1078
1296
  statement: string;
1079
1297
  context: null | string;
1080
1298
  design_element: null | string;
1081
1299
  solutions: Array<SolutionViewV2>;
1300
+ decision_review?: undefined | (Array<{
1301
+ problem_id: number;
1302
+ record_id: number;
1303
+ record_ref: string;
1304
+ answered_version_no: null | number;
1305
+ choices: Array<{ solution_id: number; kind: DecisionReviewChoiceKind; version_no: number; title: string; }>;
1306
+ versions?: undefined | (Array<{
1307
+ id: number;
1308
+ record_id: number;
1309
+ ref: string;
1310
+ version_no: number;
1311
+ approval: DecisionApprovalState;
1312
+ action: "created" | "changed" | "deleted" | "restored";
1313
+ text: string;
1314
+ kind: "design" | "business_rule" | "architecture" | "other";
1315
+ impact: number;
1316
+ confidence: number;
1317
+ made_by: "agent" | "human";
1318
+ made_by_user_id: null | number;
1319
+ made_by_name: null | string;
1320
+ made_by_author: AuthorV2;
1321
+ made_by_is_writer: boolean;
1322
+ provenance: Array<ProvenanceRecordV2>;
1323
+ author: string;
1324
+ by: AuthorV2;
1325
+ via_key: null | ViaKey;
1326
+ created_at: string;
1327
+ }>);
1328
+ }>);
1082
1329
  };
1083
1330
  type SolutionViewV2 = {
1084
1331
  title: string;
@@ -1110,7 +1357,7 @@ declare module "@danxbot/card-kit@1" {
1110
1357
  created_by: string;
1111
1358
  created_at: string;
1112
1359
  archived_at: null | string;
1113
- review_state: "rejected" | "awaiting_review" | "changes_requested" | "approved";
1360
+ review_state: "rejected" | "approved" | "awaiting_review" | "changes_requested";
1114
1361
  revision_count: number;
1115
1362
  latest_revision_no: number;
1116
1363
  chosen_options: null | OptionSelection;
@@ -1127,12 +1374,13 @@ declare module "@danxbot/card-kit@1" {
1127
1374
  bundle_available: boolean;
1128
1375
  screenshot_available: boolean;
1129
1376
  option_groups: Array<DesignOptionGroup>;
1377
+ checklist: Array<string>;
1130
1378
  source_files?: undefined | Array<DesignSourceFile>;
1131
1379
  }>);
1132
1380
  decisions?: undefined | (Array<{
1133
1381
  decision_id: number;
1134
1382
  revision_no: number;
1135
- outcome: "rejected" | "changes_requested" | "approved";
1383
+ outcome: "rejected" | "approved" | "changes_requested";
1136
1384
  note: null | string;
1137
1385
  decided_by: string;
1138
1386
  decided_by_ref: ActorRef;
@@ -1166,6 +1414,7 @@ declare module "@danxbot/card-kit@1" {
1166
1414
  decided_at: string;
1167
1415
  retracted_at: string | null;
1168
1416
  relayed_by_session: string | null;
1417
+ provenance: ProvenanceRecordV2 | null;
1169
1418
  content_hash: string;
1170
1419
  }
1171
1420
  interface CardRefViewV2 {
package/dist/cli.js CHANGED
@@ -5850,14 +5850,14 @@ function gitFailure(err) {
5850
5850
  }
5851
5851
  async function gitFiles(dir) {
5852
5852
  try {
5853
- await execFileAsync("git", ["rev-parse", "--is-inside-work-tree"], { cwd: dir });
5853
+ await execFileAsync("git", ["rev-parse", "--is-inside-work-tree"], { cwd: dir, windowsHide: true });
5854
5854
  } catch (err) {
5855
5855
  if (err.code === 128 && /not a git repository/i.test(gitFailure(err))) return null;
5856
5856
  throw new Error(`danx-plugin: git could not tell whether ${dir} is a work tree: ${gitFailure(err)}`);
5857
5857
  }
5858
5858
  let stdout;
5859
5859
  try {
5860
- ({ stdout } = await execFileAsync("git", ["ls-files", "-z", "--cached", "--others", "--exclude-standard"], { cwd: dir, maxBuffer: 64 * 1024 * 1024 }));
5860
+ ({ stdout } = await execFileAsync("git", ["ls-files", "-z", "--cached", "--others", "--exclude-standard"], { cwd: dir, windowsHide: true, maxBuffer: 64 * 1024 * 1024 }));
5861
5861
  } catch (err) {
5862
5862
  throw new Error(`danx-plugin: git ls-files failed in ${dir}: ${gitFailure(err)}`);
5863
5863
  }
@@ -5916,7 +5916,7 @@ var BUILD_OUTPUT_TAIL_CHARS = 4e3;
5916
5916
  function runProjectBuild(projectDir) {
5917
5917
  return new Promise((resolvePromise, reject) => {
5918
5918
  let output = "";
5919
- const child = spawn("npm", ["run", "build"], { cwd: projectDir, shell: process.platform === "win32", stdio: ["ignore", "pipe", "pipe"] });
5919
+ const child = spawn("npm", ["run", "build"], { cwd: projectDir, windowsHide: true, shell: process.platform === "win32", stdio: ["ignore", "pipe", "pipe"] });
5920
5920
  const keep = (chunk) => {
5921
5921
  output = (output + chunk.toString("utf8")).slice(-BUILD_OUTPUT_TAIL_CHARS);
5922
5922
  };
package/dist/publish.js CHANGED
@@ -5845,14 +5845,14 @@ function gitFailure(err) {
5845
5845
  }
5846
5846
  async function gitFiles(dir) {
5847
5847
  try {
5848
- await execFileAsync("git", ["rev-parse", "--is-inside-work-tree"], { cwd: dir });
5848
+ await execFileAsync("git", ["rev-parse", "--is-inside-work-tree"], { cwd: dir, windowsHide: true });
5849
5849
  } catch (err) {
5850
5850
  if (err.code === 128 && /not a git repository/i.test(gitFailure(err))) return null;
5851
5851
  throw new Error(`danx-plugin: git could not tell whether ${dir} is a work tree: ${gitFailure(err)}`);
5852
5852
  }
5853
5853
  let stdout;
5854
5854
  try {
5855
- ({ stdout } = await execFileAsync("git", ["ls-files", "-z", "--cached", "--others", "--exclude-standard"], { cwd: dir, maxBuffer: 64 * 1024 * 1024 }));
5855
+ ({ stdout } = await execFileAsync("git", ["ls-files", "-z", "--cached", "--others", "--exclude-standard"], { cwd: dir, windowsHide: true, maxBuffer: 64 * 1024 * 1024 }));
5856
5856
  } catch (err) {
5857
5857
  throw new Error(`danx-plugin: git ls-files failed in ${dir}: ${gitFailure(err)}`);
5858
5858
  }
@@ -5911,7 +5911,7 @@ var BUILD_OUTPUT_TAIL_CHARS = 4e3;
5911
5911
  function runProjectBuild(projectDir) {
5912
5912
  return new Promise((resolvePromise, reject) => {
5913
5913
  let output = "";
5914
- const child = spawn("npm", ["run", "build"], { cwd: projectDir, shell: process.platform === "win32", stdio: ["ignore", "pipe", "pipe"] });
5914
+ const child = spawn("npm", ["run", "build"], { cwd: projectDir, windowsHide: true, shell: process.platform === "win32", stdio: ["ignore", "pipe", "pipe"] });
5915
5915
  const keep = (chunk) => {
5916
5916
  output = (output + chunk.toString("utf8")).slice(-BUILD_OUTPUT_TAIL_CHARS);
5917
5917
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danxbot/plugin-sdk",
3
- "version": "0.2.36",
3
+ "version": "0.2.39",
4
4
  "description": "SDK for building 50 Arms card-type plugins (DX-5170): the card kit's type declarations, a Vite preset that builds a plugin against the app's shared runtime and writes its manifest, and the danx-plugin CLI.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -46,7 +46,7 @@
46
46
  "test": "vitest run"
47
47
  },
48
48
  "devDependencies": {
49
- "@danxbot/ui": "28.5.1",
49
+ "@danxbot/ui": "28.16.0",
50
50
  "@types/node": "^22.0.0",
51
51
  "@types/react": "^19.2.2",
52
52
  "esbuild": "^0.25.0",