@happyvertical/smrt-projects 0.30.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 (92) hide show
  1. package/AGENTS.md +31 -0
  2. package/CLAUDE.md +1 -0
  3. package/LICENSE +7 -0
  4. package/README.md +97 -0
  5. package/dist/__smrt-register__.d.ts +2 -0
  6. package/dist/__smrt-register__.d.ts.map +1 -0
  7. package/dist/collections/Issues.d.ts +107 -0
  8. package/dist/collections/Issues.d.ts.map +1 -0
  9. package/dist/collections/Projects.d.ts +90 -0
  10. package/dist/collections/Projects.d.ts.map +1 -0
  11. package/dist/collections/PullRequests.d.ts +107 -0
  12. package/dist/collections/PullRequests.d.ts.map +1 -0
  13. package/dist/collections/Repositories.d.ts +77 -0
  14. package/dist/collections/Repositories.d.ts.map +1 -0
  15. package/dist/constants.d.ts +9 -0
  16. package/dist/constants.d.ts.map +1 -0
  17. package/dist/index.d.ts +14 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +2477 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/manifest.json +4193 -0
  22. package/dist/models/Comment.d.ts +77 -0
  23. package/dist/models/Comment.d.ts.map +1 -0
  24. package/dist/models/Issue.d.ts +200 -0
  25. package/dist/models/Issue.d.ts.map +1 -0
  26. package/dist/models/Label.d.ts +63 -0
  27. package/dist/models/Label.d.ts.map +1 -0
  28. package/dist/models/Project.d.ts +183 -0
  29. package/dist/models/Project.d.ts.map +1 -0
  30. package/dist/models/PullRequest.d.ts +114 -0
  31. package/dist/models/PullRequest.d.ts.map +1 -0
  32. package/dist/models/Repository.d.ts +141 -0
  33. package/dist/models/Repository.d.ts.map +1 -0
  34. package/dist/playground.d.ts +2 -0
  35. package/dist/playground.d.ts.map +1 -0
  36. package/dist/playground.js +129 -0
  37. package/dist/playground.js.map +1 -0
  38. package/dist/prompts.d.ts +2 -0
  39. package/dist/prompts.d.ts.map +1 -0
  40. package/dist/smrt-knowledge.json +1956 -0
  41. package/dist/svelte/components/ApprovalActions.svelte +213 -0
  42. package/dist/svelte/components/ApprovalActions.svelte.d.ts +17 -0
  43. package/dist/svelte/components/ApprovalActions.svelte.d.ts.map +1 -0
  44. package/dist/svelte/components/BulkActions.svelte +224 -0
  45. package/dist/svelte/components/BulkActions.svelte.d.ts +14 -0
  46. package/dist/svelte/components/BulkActions.svelte.d.ts.map +1 -0
  47. package/dist/svelte/components/DurationDisplay.svelte +68 -0
  48. package/dist/svelte/components/DurationDisplay.svelte.d.ts +11 -0
  49. package/dist/svelte/components/DurationDisplay.svelte.d.ts.map +1 -0
  50. package/dist/svelte/components/RejectDialog.svelte +250 -0
  51. package/dist/svelte/components/RejectDialog.svelte.d.ts +17 -0
  52. package/dist/svelte/components/RejectDialog.svelte.d.ts.map +1 -0
  53. package/dist/svelte/components/TimeEntryCard.svelte +294 -0
  54. package/dist/svelte/components/TimeEntryCard.svelte.d.ts +17 -0
  55. package/dist/svelte/components/TimeEntryCard.svelte.d.ts.map +1 -0
  56. package/dist/svelte/components/TimeEntryList.svelte +351 -0
  57. package/dist/svelte/components/TimeEntryList.svelte.d.ts +17 -0
  58. package/dist/svelte/components/TimeEntryList.svelte.d.ts.map +1 -0
  59. package/dist/svelte/components/TimeSummary.svelte +165 -0
  60. package/dist/svelte/components/TimeSummary.svelte.d.ts +19 -0
  61. package/dist/svelte/components/TimeSummary.svelte.d.ts.map +1 -0
  62. package/dist/svelte/components/__tests__/ApprovalActions.test.js +41 -0
  63. package/dist/svelte/components/__tests__/BulkActions.test.js +46 -0
  64. package/dist/svelte/components/__tests__/DurationDisplay.test.js +23 -0
  65. package/dist/svelte/components/__tests__/RejectDialog.test.js +45 -0
  66. package/dist/svelte/components/__tests__/TimeEntryCard.test.js +45 -0
  67. package/dist/svelte/components/__tests__/TimeEntryList.test.js +50 -0
  68. package/dist/svelte/components/__tests__/TimeSummary.test.js +39 -0
  69. package/dist/svelte/components/utils.d.ts +42 -0
  70. package/dist/svelte/components/utils.d.ts.map +1 -0
  71. package/dist/svelte/components/utils.js +43 -0
  72. package/dist/svelte/i18n.d.ts +18 -0
  73. package/dist/svelte/i18n.d.ts.map +1 -0
  74. package/dist/svelte/i18n.js +18 -0
  75. package/dist/svelte/index.d.ts +26 -0
  76. package/dist/svelte/index.d.ts.map +1 -0
  77. package/dist/svelte/index.js +31 -0
  78. package/dist/svelte/playground.d.ts +122 -0
  79. package/dist/svelte/playground.d.ts.map +1 -0
  80. package/dist/svelte/playground.js +114 -0
  81. package/dist/svelte/utils.d.ts +42 -0
  82. package/dist/svelte/utils.d.ts.map +1 -0
  83. package/dist/svelte/utils.js +43 -0
  84. package/dist/types.d.ts +54 -0
  85. package/dist/types.d.ts.map +1 -0
  86. package/dist/types.js +2 -0
  87. package/dist/types.js.map +1 -0
  88. package/dist/ui.d.ts +10 -0
  89. package/dist/ui.d.ts.map +1 -0
  90. package/dist/ui.js +85 -0
  91. package/dist/ui.js.map +1 -0
  92. package/package.json +100 -0
@@ -0,0 +1,141 @@
1
+ import { SmrtObject, SmrtObjectOptions } from '@happyvertical/smrt-core';
2
+ import { CreateIssueInput, CreatePRInput, IRepository, RepositoryProviderType, SearchFilters, SyncOptions } from '../types';
3
+ import { Issue } from './Issue';
4
+ import { PullRequest } from './PullRequest';
5
+ export interface RepositoryOptions extends SmrtObjectOptions {
6
+ owner?: string;
7
+ name?: string;
8
+ fullName?: string;
9
+ description?: string;
10
+ defaultBranch?: string;
11
+ isPrivate?: boolean;
12
+ providerType?: RepositoryProviderType;
13
+ baseUrl?: string;
14
+ tokenConfigKey?: string;
15
+ tenantId?: string | null;
16
+ }
17
+ export declare class Repository extends SmrtObject {
18
+ /**
19
+ * Tenant ID for multi-tenant isolation
20
+ */
21
+ tenantId: string | null;
22
+ /**
23
+ * Repository owner (organization or user)
24
+ */
25
+ owner: string;
26
+ /**
27
+ * Repository name
28
+ */
29
+ name: string;
30
+ /**
31
+ * Full name in owner/repo format
32
+ */
33
+ fullName: string;
34
+ /**
35
+ * Repository description
36
+ */
37
+ description: string;
38
+ /**
39
+ * Default branch name
40
+ */
41
+ defaultBranch: string;
42
+ /**
43
+ * Whether repository is private
44
+ */
45
+ isPrivate: boolean;
46
+ /**
47
+ * Repository provider type
48
+ */
49
+ providerType: RepositoryProviderType;
50
+ /**
51
+ * Base URL for self-hosted instances (GitHub Enterprise, GitLab self-hosted, etc.)
52
+ */
53
+ baseUrl: string;
54
+ /**
55
+ * Environment variable name or config key for token resolution
56
+ * The token is NOT stored - only the key name is persisted
57
+ */
58
+ tokenConfigKey: string;
59
+ /**
60
+ * Last sync timestamp
61
+ */
62
+ lastSyncedAt: Date | null;
63
+ /**
64
+ * Transient: Cached repository client (not persisted)
65
+ */
66
+ private _client?;
67
+ constructor(options?: RepositoryOptions);
68
+ /**
69
+ * Get the repository client, resolving token from config
70
+ *
71
+ * Token resolution order:
72
+ * 1. Environment variable matching tokenConfigKey
73
+ * 2. Module config value matching tokenConfigKey
74
+ *
75
+ * @returns Repository client for API operations
76
+ * @throws Error if token cannot be resolved
77
+ */
78
+ getClient(): Promise<IRepository>;
79
+ /**
80
+ * Clear the cached client (useful after token refresh)
81
+ */
82
+ clearClient(): void;
83
+ /**
84
+ * Sync repository metadata from the provider
85
+ *
86
+ * @param options - Sync options
87
+ * @returns This repository with updated fields
88
+ */
89
+ sync(options?: SyncOptions): Promise<this>;
90
+ /**
91
+ * Get issues from this repository
92
+ *
93
+ * @param filters - Optional search filters
94
+ * @returns Array of Issue objects (SMRT models)
95
+ */
96
+ getIssues(filters?: SearchFilters): Promise<Issue[]>;
97
+ /**
98
+ * Get pull requests from this repository
99
+ *
100
+ * @param filters - Optional search filters
101
+ * @returns Array of PullRequest objects (SMRT models)
102
+ */
103
+ getPullRequests(filters?: SearchFilters): Promise<PullRequest[]>;
104
+ /**
105
+ * Create a new issue in this repository
106
+ *
107
+ * @param data - Issue creation data
108
+ * @returns Created Issue (SMRT model)
109
+ */
110
+ createIssue(data: CreateIssueInput): Promise<Issue>;
111
+ /**
112
+ * Create a new pull request in this repository
113
+ *
114
+ * @param data - PR creation data
115
+ * @returns Created PullRequest (SMRT model)
116
+ */
117
+ createPullRequest(data: CreatePRInput): Promise<PullRequest>;
118
+ /**
119
+ * Check if this repository has any open issues matching criteria
120
+ *
121
+ * @param criteria - Natural language description of what to check
122
+ * @returns True if matching issues exist
123
+ */
124
+ hasOpenIssuesMatching(criteria: string): Promise<boolean>;
125
+ /**
126
+ * Generate a summary of repository activity
127
+ *
128
+ * @returns AI-generated summary
129
+ */
130
+ summarizeActivity(): Promise<string>;
131
+ /**
132
+ * Get repository by owner and name
133
+ *
134
+ * @param owner - Repository owner
135
+ * @param name - Repository name
136
+ * @param options - Additional options
137
+ * @returns Repository or null if not found
138
+ */
139
+ static getByFullName(owner: string, name: string, options?: SmrtObjectOptions): Promise<Repository | null>;
140
+ }
141
+ //# sourceMappingURL=Repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/models/Repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,sBAAsB,EAEtB,aAAa,EACb,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAQa,UAAW,SAAQ,UAAU;IACxC;;OAEG;IAEH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAM;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAM;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAM;IAEtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAM;IAEzB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAU;IAE/B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAS;IAE3B;;OAEG;IACH,YAAY,EAAE,sBAAsB,CAAY;IAEhD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAM;IAErB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAkB;IAExC;;OAEG;IACH,YAAY,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEjC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,CAAc;gBAElB,OAAO,GAAE,iBAAsB;IAmB3C;;;;;;;;;OASG;IACG,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;IA8BvC;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;;;;OAKG;IACG,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BpD;;;;;OAKG;IACG,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAM1D;;;;;OAKG;IACG,eAAe,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAUtE;;;;;OAKG;IACG,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;IA8BzD;;;;;OAKG;IACG,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAkClE;;;;;OAKG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/D;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAW1C;;;;;;;OAOG;WACU,aAAa,CACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAO9B"}
@@ -0,0 +1,2 @@
1
+ export { default } from './svelte/playground.js';
2
+ //# sourceMappingURL=playground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../src/playground.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,129 @@
1
+ import { PROJECTS_MODULE_META } from "./ui.js";
2
+ const noop = () => {
3
+ };
4
+ const sampleTimeEntries = [
5
+ {
6
+ id: "time-entry-1",
7
+ date: "2026-03-18T16:00:00.000Z",
8
+ hours: 6.5,
9
+ description: "Editorial governance review and fact-linking pass",
10
+ status: "submitted",
11
+ amount: 780,
12
+ workerName: "Taylor Rowan",
13
+ hourlyRate: 120,
14
+ mileage: 18
15
+ },
16
+ {
17
+ id: "time-entry-2",
18
+ date: "2026-03-19T16:00:00.000Z",
19
+ hours: 4.25,
20
+ description: "Content workflow instrumentation and approval QA",
21
+ status: "approved",
22
+ amount: 510,
23
+ workerName: "Jordan Lee",
24
+ hourlyRate: 120
25
+ },
26
+ {
27
+ id: "time-entry-3",
28
+ date: "2026-03-20T16:00:00.000Z",
29
+ hours: 2,
30
+ description: "Follow-up revisions for contributor feedback",
31
+ status: "draft",
32
+ amount: 240,
33
+ workerName: "Casey Tran",
34
+ hourlyRate: 120
35
+ }
36
+ ];
37
+ const totalHours = sampleTimeEntries.reduce(
38
+ (sum, entry) => sum + entry.hours,
39
+ 0
40
+ );
41
+ const totalAmount = sampleTimeEntries.reduce(
42
+ (sum, entry) => sum + (entry.amount ?? 0),
43
+ 0
44
+ );
45
+ const pendingEntries = sampleTimeEntries.filter(
46
+ (entry) => entry.status === "submitted"
47
+ );
48
+ const loadApprovalActions = () => import("./svelte/components/ApprovalActions.svelte");
49
+ const loadTimeEntryList = () => import("./svelte/components/TimeEntryList.svelte");
50
+ const loadTimeSummary = () => import("./svelte/components/TimeSummary.svelte");
51
+ const playground = {
52
+ packageName: "@happyvertical/smrt-projects",
53
+ displayName: PROJECTS_MODULE_META.displayName,
54
+ description: PROJECTS_MODULE_META.description,
55
+ moduleMeta: PROJECTS_MODULE_META,
56
+ entries: [
57
+ {
58
+ id: "time-entry-list",
59
+ title: "Time Entry List",
60
+ description: "Selectable list view for recent time entries with billing context.",
61
+ loadComponent: loadTimeEntryList,
62
+ order: 1,
63
+ props: {
64
+ entries: sampleTimeEntries,
65
+ selectable: true,
66
+ selectedIds: ["time-entry-1"],
67
+ currency: "CAD",
68
+ onselectionchange: noop,
69
+ baseHref: "/projects/time-entries"
70
+ },
71
+ modes: {
72
+ mock: {
73
+ label: "Mock"
74
+ }
75
+ }
76
+ },
77
+ {
78
+ id: "time-summary",
79
+ title: "Time Summary",
80
+ description: "Hours and value summary cards for a project review period.",
81
+ loadComponent: loadTimeSummary,
82
+ order: 2,
83
+ props: {
84
+ totalHours,
85
+ totalAmount,
86
+ pendingHours: pendingEntries.reduce(
87
+ (sum, entry) => sum + entry.hours,
88
+ 0
89
+ ),
90
+ pendingAmount: pendingEntries.reduce(
91
+ (sum, entry) => sum + (entry.amount ?? 0),
92
+ 0
93
+ ),
94
+ approvedHours: sampleTimeEntries.filter((entry) => entry.status === "approved").reduce((sum, entry) => sum + entry.hours, 0),
95
+ approvedAmount: sampleTimeEntries.filter((entry) => entry.status === "approved").reduce((sum, entry) => sum + (entry.amount ?? 0), 0),
96
+ entryCount: sampleTimeEntries.length,
97
+ currency: "CAD",
98
+ showApproved: true
99
+ },
100
+ modes: {
101
+ mock: {
102
+ label: "Mock"
103
+ }
104
+ }
105
+ },
106
+ {
107
+ id: "approval-actions",
108
+ title: "Approval Actions",
109
+ description: "Status-sensitive action row for approving or returning submitted work.",
110
+ loadComponent: loadApprovalActions,
111
+ order: 3,
112
+ props: {
113
+ status: "submitted",
114
+ onapprove: noop,
115
+ onreject: noop,
116
+ onedit: noop
117
+ },
118
+ modes: {
119
+ mock: {
120
+ label: "Mock"
121
+ }
122
+ }
123
+ }
124
+ ]
125
+ };
126
+ export {
127
+ playground as default
128
+ };
129
+ //# sourceMappingURL=playground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playground.js","sources":["../src/svelte/playground.ts"],"sourcesContent":["import { PROJECTS_MODULE_META } from '../ui.js';\n\nconst noop = () => {};\n\nconst sampleTimeEntries = [\n {\n id: 'time-entry-1',\n date: '2026-03-18T16:00:00.000Z',\n hours: 6.5,\n description: 'Editorial governance review and fact-linking pass',\n status: 'submitted',\n amount: 780,\n workerName: 'Taylor Rowan',\n hourlyRate: 120,\n mileage: 18,\n },\n {\n id: 'time-entry-2',\n date: '2026-03-19T16:00:00.000Z',\n hours: 4.25,\n description: 'Content workflow instrumentation and approval QA',\n status: 'approved',\n amount: 510,\n workerName: 'Jordan Lee',\n hourlyRate: 120,\n },\n {\n id: 'time-entry-3',\n date: '2026-03-20T16:00:00.000Z',\n hours: 2,\n description: 'Follow-up revisions for contributor feedback',\n status: 'draft',\n amount: 240,\n workerName: 'Casey Tran',\n hourlyRate: 120,\n },\n];\n\nconst totalHours = sampleTimeEntries.reduce(\n (sum, entry) => sum + entry.hours,\n 0,\n);\nconst totalAmount = sampleTimeEntries.reduce(\n (sum, entry) => sum + (entry.amount ?? 0),\n 0,\n);\nconst pendingEntries = sampleTimeEntries.filter(\n (entry) => entry.status === 'submitted',\n);\n\nconst loadApprovalActions = () => import('./components/ApprovalActions.svelte');\nconst loadTimeEntryList = () => import('./components/TimeEntryList.svelte');\nconst loadTimeSummary = () => import('./components/TimeSummary.svelte');\n\nexport default {\n packageName: '@happyvertical/smrt-projects',\n displayName: PROJECTS_MODULE_META.displayName,\n description: PROJECTS_MODULE_META.description,\n moduleMeta: PROJECTS_MODULE_META,\n entries: [\n {\n id: 'time-entry-list',\n title: 'Time Entry List',\n description:\n 'Selectable list view for recent time entries with billing context.',\n loadComponent: loadTimeEntryList,\n order: 1,\n props: {\n entries: sampleTimeEntries,\n selectable: true,\n selectedIds: ['time-entry-1'],\n currency: 'CAD',\n onselectionchange: noop,\n baseHref: '/projects/time-entries',\n },\n modes: {\n mock: {\n label: 'Mock',\n },\n },\n },\n {\n id: 'time-summary',\n title: 'Time Summary',\n description: 'Hours and value summary cards for a project review period.',\n loadComponent: loadTimeSummary,\n order: 2,\n props: {\n totalHours,\n totalAmount,\n pendingHours: pendingEntries.reduce(\n (sum, entry) => sum + entry.hours,\n 0,\n ),\n pendingAmount: pendingEntries.reduce(\n (sum, entry) => sum + (entry.amount ?? 0),\n 0,\n ),\n approvedHours: sampleTimeEntries\n .filter((entry) => entry.status === 'approved')\n .reduce((sum, entry) => sum + entry.hours, 0),\n approvedAmount: sampleTimeEntries\n .filter((entry) => entry.status === 'approved')\n .reduce((sum, entry) => sum + (entry.amount ?? 0), 0),\n entryCount: sampleTimeEntries.length,\n currency: 'CAD',\n showApproved: true,\n },\n modes: {\n mock: {\n label: 'Mock',\n },\n },\n },\n {\n id: 'approval-actions',\n title: 'Approval Actions',\n description:\n 'Status-sensitive action row for approving or returning submitted work.',\n loadComponent: loadApprovalActions,\n order: 3,\n props: {\n status: 'submitted',\n onapprove: noop,\n onreject: noop,\n onedit: noop,\n },\n modes: {\n mock: {\n label: 'Mock',\n },\n },\n },\n ],\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const issueIncorporateFeedbackPrompt: import('@happyvertical/smrt-prompts').PromptDefinition;
2
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,8BAA8B,wDAyBzC,CAAC"}