@arnavpisces/sutra 1.0.7 → 1.0.9

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 (91) hide show
  1. package/dist/api/jira-client.d.ts +33 -1
  2. package/dist/api/jira-client.d.ts.map +1 -1
  3. package/dist/api/jira-client.js +132 -23
  4. package/dist/api/jira-client.js.map +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +93 -6
  7. package/dist/app.js.map +1 -1
  8. package/dist/components/common/EditableTextBox.d.ts.map +1 -1
  9. package/dist/components/common/EditableTextBox.js +58 -0
  10. package/dist/components/common/EditableTextBox.js.map +1 -1
  11. package/dist/components/common/FuzzySelect.d.ts +2 -1
  12. package/dist/components/common/FuzzySelect.d.ts.map +1 -1
  13. package/dist/components/common/FuzzySelect.js +6 -2
  14. package/dist/components/common/FuzzySelect.js.map +1 -1
  15. package/dist/components/common/SearchBar.js +1 -1
  16. package/dist/components/common/SearchBar.js.map +1 -1
  17. package/dist/components/common/TextEditor.js +1 -1
  18. package/dist/components/common/TextEditor.js.map +1 -1
  19. package/dist/components/common/ThemeModal.d.ts +9 -0
  20. package/dist/components/common/ThemeModal.d.ts.map +1 -0
  21. package/dist/components/common/ThemeModal.js +34 -0
  22. package/dist/components/common/ThemeModal.js.map +1 -0
  23. package/dist/components/common/WordTextInput.d.ts +17 -0
  24. package/dist/components/common/WordTextInput.d.ts.map +1 -0
  25. package/dist/components/common/WordTextInput.js +142 -0
  26. package/dist/components/common/WordTextInput.js.map +1 -0
  27. package/dist/components/confluence/PageAttachments.js +1 -1
  28. package/dist/components/confluence/PageAttachments.js.map +1 -1
  29. package/dist/components/confluence/PageBrowser.js +1 -1
  30. package/dist/components/confluence/PageBrowser.js.map +1 -1
  31. package/dist/components/confluence/PageEditor.js +1 -1
  32. package/dist/components/confluence/PageEditor.js.map +1 -1
  33. package/dist/components/confluence/PageLabels.js +1 -1
  34. package/dist/components/confluence/PageLabels.js.map +1 -1
  35. package/dist/components/jira/CommentForm.js +1 -1
  36. package/dist/components/jira/CommentForm.js.map +1 -1
  37. package/dist/components/jira/CreateTicket.d.ts +4 -1
  38. package/dist/components/jira/CreateTicket.d.ts.map +1 -1
  39. package/dist/components/jira/CreateTicket.js +28 -10
  40. package/dist/components/jira/CreateTicket.js.map +1 -1
  41. package/dist/components/jira/IssueList.d.ts.map +1 -1
  42. package/dist/components/jira/IssueList.js +117 -12
  43. package/dist/components/jira/IssueList.js.map +1 -1
  44. package/dist/components/jira/JiraIssueRow.d.ts.map +1 -1
  45. package/dist/components/jira/JiraIssueRow.js +4 -2
  46. package/dist/components/jira/JiraIssueRow.js.map +1 -1
  47. package/dist/components/jira/JiraView.d.ts +1 -1
  48. package/dist/components/jira/JiraView.d.ts.map +1 -1
  49. package/dist/components/jira/JiraView.js +115 -40
  50. package/dist/components/jira/JiraView.js.map +1 -1
  51. package/dist/components/jira/JqlSearch.d.ts.map +1 -1
  52. package/dist/components/jira/JqlSearch.js +50 -2
  53. package/dist/components/jira/JqlSearch.js.map +1 -1
  54. package/dist/components/jira/QuickFilters.d.ts +7 -2
  55. package/dist/components/jira/QuickFilters.d.ts.map +1 -1
  56. package/dist/components/jira/QuickFilters.js +121 -36
  57. package/dist/components/jira/QuickFilters.js.map +1 -1
  58. package/dist/components/jira/TicketDetail.d.ts +11 -3
  59. package/dist/components/jira/TicketDetail.d.ts.map +1 -1
  60. package/dist/components/jira/TicketDetail.js +594 -44
  61. package/dist/components/jira/TicketDetail.js.map +1 -1
  62. package/dist/components/jira/TicketEditor.js +1 -1
  63. package/dist/components/jira/TicketEditor.js.map +1 -1
  64. package/dist/components/jira/TicketList.d.ts.map +1 -1
  65. package/dist/components/jira/TicketList.js +159 -11
  66. package/dist/components/jira/TicketList.js.map +1 -1
  67. package/dist/config/config-manager.d.ts +2 -0
  68. package/dist/config/config-manager.d.ts.map +1 -1
  69. package/dist/config/config-manager.js +10 -0
  70. package/dist/config/config-manager.js.map +1 -1
  71. package/dist/config/types.d.ts +3 -0
  72. package/dist/config/types.d.ts.map +1 -1
  73. package/dist/config/types.js +1 -0
  74. package/dist/config/types.js.map +1 -1
  75. package/dist/index.js +22 -2
  76. package/dist/index.js.map +1 -1
  77. package/dist/theme/te.d.ts +12 -1
  78. package/dist/theme/te.d.ts.map +1 -1
  79. package/dist/theme/te.js +180 -12
  80. package/dist/theme/te.js.map +1 -1
  81. package/dist/utils/auto-updater.d.ts +14 -1
  82. package/dist/utils/auto-updater.d.ts.map +1 -1
  83. package/dist/utils/auto-updater.js +113 -22
  84. package/dist/utils/auto-updater.js.map +1 -1
  85. package/dist/utils/external-editor.d.ts.map +1 -1
  86. package/dist/utils/external-editor.js +24 -3
  87. package/dist/utils/external-editor.js.map +1 -1
  88. package/dist/utils/jira-colors.d.ts.map +1 -1
  89. package/dist/utils/jira-colors.js +21 -20
  90. package/dist/utils/jira-colors.js.map +1 -1
  91. package/package.json +2 -1
@@ -1,12 +1,37 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
2
+ import { useEffect, useMemo, useRef, useState } from 'react';
3
3
  import { Box, Text, useInput } from 'ink';
4
4
  import SelectInput from 'ink-select-input';
5
5
  import { PersistentCache } from '../../storage/cache.js';
6
6
  import { IssueList } from './IssueList.js';
7
7
  import { ShortcutHints } from '../common/ShortcutHints.js';
8
8
  import { te } from '../../theme/te.js';
9
+ const QUICK_FETCH_LIMIT = 140;
9
10
  const quickCache = new PersistentCache('jira:quick', 300);
11
+ const quickInFlight = new Map();
12
+ function normalizeCachedQuickResult(value) {
13
+ if (!value)
14
+ return null;
15
+ if (Array.isArray(value)) {
16
+ return {
17
+ issues: value,
18
+ total: value.length,
19
+ truncated: false,
20
+ };
21
+ }
22
+ if (typeof value !== 'object')
23
+ return null;
24
+ const candidate = value;
25
+ if (!Array.isArray(candidate.issues))
26
+ return null;
27
+ return {
28
+ issues: candidate.issues,
29
+ total: typeof candidate.total === 'number' ? candidate.total : candidate.issues.length,
30
+ truncated: typeof candidate.truncated === 'boolean'
31
+ ? candidate.truncated
32
+ : (typeof candidate.total === 'number' ? candidate.total > candidate.issues.length : false),
33
+ };
34
+ }
10
35
  const filters = [
11
36
  { label: 'Assigned to me', jql: 'assignee = currentUser() ORDER BY updated DESC' },
12
37
  { label: 'Reported by me', jql: 'reporter = currentUser() ORDER BY updated DESC' },
@@ -14,30 +39,66 @@ const filters = [
14
39
  { label: 'Recently updated', jql: 'updated >= -7d ORDER BY updated DESC' },
15
40
  { label: 'Recently created', jql: 'created >= -7d ORDER BY created DESC' },
16
41
  ];
17
- export function QuickFilters({ client, onSelectIssue, onCancel }) {
42
+ export function QuickFilters({ client, onSelectIssue, onCancel, initialContext, onContextChange, }) {
18
43
  const [selectedFilter, setSelectedFilter] = useState(null);
19
- const [issues, setIssues] = useState(null);
44
+ const [result, setResult] = useState(null);
20
45
  const [loading, setLoading] = useState(false);
21
46
  const [error, setError] = useState(null);
22
- const fetchAllIssues = async (jql) => {
23
- const pageSize = 100;
24
- let startAt = 0;
25
- let pageGuard = 0;
26
- const all = [];
27
- while (pageGuard < 100) {
28
- const res = await client.searchIssues(jql, pageSize, startAt);
29
- const pageIssues = Array.isArray(res.issues) ? res.issues : [];
30
- if (pageIssues.length === 0)
31
- break;
32
- all.push(...pageIssues);
33
- if (typeof res.total === 'number' && all.length >= res.total)
34
- break;
35
- if (pageIssues.length < pageSize)
36
- break;
37
- startAt += pageIssues.length;
38
- pageGuard += 1;
47
+ const [loadingTick, setLoadingTick] = useState(0);
48
+ const hydratedFromInitialRef = useRef(false);
49
+ const loadingDots = useMemo(() => {
50
+ if (!loading)
51
+ return '';
52
+ const frame = loadingTick % 4;
53
+ if (frame === 0)
54
+ return '';
55
+ if (frame === 1)
56
+ return '.';
57
+ if (frame === 2)
58
+ return '..';
59
+ return '...';
60
+ }, [loading, loadingTick]);
61
+ useEffect(() => {
62
+ if (!loading)
63
+ return;
64
+ const timer = setInterval(() => {
65
+ setLoadingTick((prev) => prev + 1);
66
+ }, 250);
67
+ return () => clearInterval(timer);
68
+ }, [loading]);
69
+ const fetchFastIssues = async (jql) => {
70
+ const response = await client.searchIssues(jql, QUICK_FETCH_LIMIT, 0);
71
+ const issues = Array.isArray(response.issues) ? response.issues : [];
72
+ const total = typeof response.total === 'number'
73
+ ? Math.max(response.total, issues.length)
74
+ : issues.length;
75
+ return {
76
+ issues,
77
+ total,
78
+ truncated: total > issues.length,
79
+ };
80
+ };
81
+ const getFilterResult = async (jql) => {
82
+ const cached = normalizeCachedQuickResult(quickCache.get(jql));
83
+ if (cached) {
84
+ // Rewrite normalized value to keep cache format consistent after migration.
85
+ quickCache.set(jql, cached);
86
+ return cached;
39
87
  }
40
- return all;
88
+ const inflight = quickInFlight.get(jql);
89
+ if (inflight) {
90
+ return inflight;
91
+ }
92
+ const request = fetchFastIssues(jql)
93
+ .then((data) => {
94
+ quickCache.set(jql, data);
95
+ return data;
96
+ })
97
+ .finally(() => {
98
+ quickInFlight.delete(jql);
99
+ });
100
+ quickInFlight.set(jql, request);
101
+ return request;
41
102
  };
42
103
  useInput((_input, key) => {
43
104
  if (key.escape && !selectedFilter) {
@@ -45,24 +106,42 @@ export function QuickFilters({ client, onSelectIssue, onCancel }) {
45
106
  }
46
107
  else if (key.escape && selectedFilter) {
47
108
  setSelectedFilter(null);
48
- setIssues(null);
109
+ setResult(null);
110
+ onContextChange?.(null);
49
111
  }
50
112
  });
113
+ useEffect(() => {
114
+ // Warm "Reported by me" in background since it's a common, potentially heavy query.
115
+ const prefetch = filters.find((filter) => filter.label === 'Reported by me');
116
+ if (!prefetch)
117
+ return;
118
+ const key = prefetch.jql;
119
+ if (normalizeCachedQuickResult(quickCache.get(key)) || quickInFlight.has(key))
120
+ return;
121
+ void getFilterResult(key).catch(() => {
122
+ // Ignore prefetch failures; normal flow still handles errors.
123
+ });
124
+ }, [client]);
125
+ useEffect(() => {
126
+ if (hydratedFromInitialRef.current)
127
+ return;
128
+ if (!initialContext?.filterJql)
129
+ return;
130
+ const filter = filters.find((item) => item.jql === initialContext.filterJql);
131
+ if (!filter)
132
+ return;
133
+ hydratedFromInitialRef.current = true;
134
+ void runFilter(filter);
135
+ }, [initialContext]);
51
136
  const runFilter = async (filter) => {
52
137
  setSelectedFilter(filter);
138
+ onContextChange?.({ filterJql: filter.jql });
53
139
  setLoading(true);
54
140
  setError(null);
55
- const cacheKey = filter.jql;
56
- const cached = quickCache.get(cacheKey);
57
- if (cached) {
58
- setIssues(cached);
59
- setLoading(false);
60
- return;
61
- }
141
+ setLoadingTick(0);
62
142
  try {
63
- const allIssues = await fetchAllIssues(filter.jql);
64
- setIssues(allIssues);
65
- quickCache.set(cacheKey, allIssues);
143
+ const filterResult = await getFilterResult(filter.jql);
144
+ setResult(filterResult);
66
145
  }
67
146
  catch (err) {
68
147
  setError(err instanceof Error ? err.message : 'Failed to fetch issues');
@@ -71,16 +150,22 @@ export function QuickFilters({ client, onSelectIssue, onCancel }) {
71
150
  setLoading(false);
72
151
  }
73
152
  };
74
- if (selectedFilter && issues) {
75
- return (_jsx(IssueList, { title: `Quick Filter: ${selectedFilter.label}`, issues: issues, onSelect: onSelectIssue, onCancel: () => {
153
+ if (selectedFilter && result) {
154
+ const title = result.truncated
155
+ ? `Quick Filter: ${selectedFilter.label} (latest ${result.issues.length} of ${result.total})`
156
+ : `Quick Filter: ${selectedFilter.label}`;
157
+ return (_jsx(IssueList, { title: title, issues: result.issues, onSelect: (issueKey) => onSelectIssue(issueKey, {
158
+ filterJql: selectedFilter.jql,
159
+ }), onCancel: () => {
76
160
  setSelectedFilter(null);
77
- setIssues(null);
161
+ setResult(null);
162
+ onContextChange?.(null);
78
163
  } }));
79
164
  }
80
165
  return (_jsxs(Box, { flexDirection: "column", width: "100%", borderStyle: "single", borderColor: te.info, paddingX: 1, children: [_jsx(Text, { bold: true, color: te.accentAlt, children: "QUICK FILTERS" }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: filters.map((f) => ({ key: f.jql, label: f.label, value: f.jql })), onSelect: (item) => {
81
166
  const filter = filters.find((f) => f.jql === item.value) || filters[0];
82
167
  runFilter(filter);
83
- } }) }), loading && _jsx(Text, { color: te.muted, children: "Loading..." }), error && _jsx(Text, { color: te.danger, children: error }), _jsx(Box, { marginTop: 1, children: _jsx(ShortcutHints, { hints: [
168
+ } }) }), loading && _jsx(Text, { color: te.muted, children: `Loading${loadingDots}` }), error && _jsx(Text, { color: te.danger, children: error }), _jsx(Box, { marginTop: 1, children: _jsx(ShortcutHints, { hints: [
84
169
  { key: 'Enter', label: 'Select' },
85
170
  { key: 'Escape', label: 'Back' },
86
171
  ] }) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"QuickFilters.js","sourceRoot":"","sources":["../../../src/components/jira/QuickFilters.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,MAAM,UAAU,GAAG,IAAI,eAAe,CAAc,YAAY,EAAE,GAAG,CAAC,CAAC;AAEvE,MAAM,OAAO,GAAG;IACd,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,gDAAgD,EAAE;IAClF,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,gDAAgD,EAAE;IAClF,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,2EAA2E,EAAE;IAC7G,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,sCAAsC,EAAE;IAC1E,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,sCAAsC,EAAE;CAC3E,CAAC;AAQF,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAqB;IACjF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,KAAK,EAAE,GAAW,EAAwB,EAAE;QACjE,MAAM,QAAQ,GAAG,GAAG,CAAC;QACrB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,GAAG,GAAgB,EAAE,CAAC;QAE5B,OAAO,SAAS,GAAG,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YACnC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAExB,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK;gBAAE,MAAM;YACpE,IAAI,UAAU,CAAC,MAAM,GAAG,QAAQ;gBAAE,MAAM;YAExC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC;YAC7B,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAClC,QAAQ,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YACxC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,KAAK,EAAE,MAAyB,EAAE,EAAE;QACpD,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnD,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;QAC7B,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE,iBAAiB,cAAc,CAAC,KAAK,EAAE,EAC9C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,GAAG,EAAE;gBACb,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAC,MAAM,EACZ,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,EAAE,CAAC,IAAI,EACpB,QAAQ,EAAE,CAAC,aAEX,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,CAAC,SAAS,8BAAsB,EACpD,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,WAAW,IACV,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EACzE,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE;wBACtB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;wBACvE,SAAS,CAAC,MAAM,CAAC,CAAC;oBACpB,CAAC,GACD,GACE,EACL,OAAO,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,CAAC,KAAK,2BAAmB,EACnD,KAAK,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,CAAC,MAAM,YAAG,KAAK,GAAQ,EAChD,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,aAAa,IACZ,KAAK,EAAE;wBACL,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACjC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;qBACjC,GACD,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"QuickFilters.js","sourceRoot":"","sources":["../../../src/components/jira/QuickFilters.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { JiraIssue, JiraTransition, JiraPriority } from '../../api/jira-client.js';
1
+ import { JiraIssue, JiraTransition, JiraPriority, JiraTransitionField } from '../../api/jira-client.js';
2
2
  export interface TicketDetailProps {
3
3
  issue: JiraIssue;
4
4
  baseUrl: string;
@@ -11,7 +11,14 @@ export interface TicketDetailProps {
11
11
  onAssignToMe?: () => Promise<void>;
12
12
  onAddComment?: (comment: string) => Promise<void>;
13
13
  onUpdateComment?: (commentId: string, comment: string) => Promise<void>;
14
- onTransition?: (transitionId: string) => Promise<void>;
14
+ onTransition?: (transitionId: string, fields?: Record<string, any>) => Promise<void>;
15
+ onRefreshTransitions?: () => Promise<void>;
16
+ onSearchUsers?: (query: string) => Promise<Array<{
17
+ accountId: string;
18
+ displayName: string;
19
+ emailAddress?: string;
20
+ }>>;
21
+ onResolveTransitionFields?: (transitionId: string, requiredFieldNames?: string[]) => Promise<Record<string, JiraTransitionField>>;
15
22
  onFetchComments?: () => Promise<any[]>;
16
23
  onDownloadAttachment?: (attachmentId: string, filename: string) => Promise<{
17
24
  data: Buffer;
@@ -19,8 +26,9 @@ export interface TicketDetailProps {
19
26
  }>;
20
27
  onUploadAttachment?: (filePath: string) => Promise<void>;
21
28
  onBookmarkChanged?: () => void;
29
+ onCreateChildTicket?: () => void;
22
30
  onRefresh?: () => Promise<void> | void;
23
31
  onBack?: () => void;
24
32
  }
25
- export declare function TicketDetail({ issue, baseUrl, currentAccountId, transitions, priorities, onSaveTitle, onSaveDescription, onSavePriority, onAssignToMe, onAddComment, onUpdateComment, onTransition, onFetchComments, onDownloadAttachment, onUploadAttachment, onBookmarkChanged, onRefresh, onBack }: TicketDetailProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function TicketDetail({ issue, baseUrl, currentAccountId, transitions, priorities, onSaveTitle, onSaveDescription, onSavePriority, onAssignToMe, onAddComment, onUpdateComment, onTransition, onRefreshTransitions, onSearchUsers, onResolveTransitionFields, onFetchComments, onDownloadAttachment, onUploadAttachment, onBookmarkChanged, onCreateChildTicket, onRefresh, onBack }: TicketDetailProps): import("react/jsx-runtime").JSX.Element;
26
34
  //# sourceMappingURL=TicketDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TicketDetail.d.ts","sourceRoot":"","sources":["../../../src/components/jira/TicketDetail.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAkB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA2BnG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/G,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,WAAgB,EAChB,UAAe,EACf,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,MAAM,EACP,EAAE,iBAAiB,2CAg3BnB"}
1
+ {"version":3,"file":"TicketDetail.d.ts","sourceRoot":"","sources":["../../../src/components/jira/TicketDetail.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,cAAc,EAEd,YAAY,EACZ,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAkClC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrH,yBAAyB,CAAC,EAAE,CAC1B,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/G,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAqPD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,WAAgB,EAChB,UAAe,EACf,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,MAAM,EACP,EAAE,iBAAiB,2CA6zCnB"}