@vfarcic/dot-ai 0.149.0 → 0.150.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.
- package/README.md +6 -0
- package/dist/core/feedback.d.ts +43 -0
- package/dist/core/feedback.d.ts.map +1 -0
- package/dist/core/feedback.js +98 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -1
- package/dist/core/pattern-operations.d.ts.map +1 -1
- package/dist/core/pattern-operations.js +3 -1
- package/dist/core/policy-operations.d.ts.map +1 -1
- package/dist/core/policy-operations.js +4 -1
- package/dist/tools/generate-manifests.d.ts.map +1 -1
- package/dist/tools/generate-manifests.js +5 -1
- package/dist/tools/operate-execution.d.ts.map +1 -1
- package/dist/tools/operate-execution.js +4 -1
- package/dist/tools/project-setup/generate-scope.d.ts.map +1 -1
- package/dist/tools/project-setup/generate-scope.js +4 -1
- package/dist/tools/remediate.d.ts.map +1 -1
- package/dist/tools/remediate.js +7 -2
- package/dist/tools/version.d.ts.map +1 -1
- package/dist/tools/version.js +4 -1
- package/package.json +1 -1
- package/shared-prompts/prd-start.md +6 -16
package/README.md
CHANGED
|
@@ -129,6 +129,12 @@ We welcome contributions from the community! Please review:
|
|
|
129
129
|
- **[Maintainers](docs/MAINTAINERS.md)** - Current project maintainers
|
|
130
130
|
- **[Roadmap](docs/ROADMAP.md)** - Project direction and priorities
|
|
131
131
|
|
|
132
|
+
## Help Us Improve
|
|
133
|
+
|
|
134
|
+
Your feedback shapes dot-ai's future! After using the tools, you may occasionally see a feedback prompt - we'd love to hear what's working and what could be better.
|
|
135
|
+
|
|
136
|
+
📝 **[Share your feedback](https://forms.gle/dJcDXtsxhCCwgxtT6)**
|
|
137
|
+
|
|
132
138
|
## License
|
|
133
139
|
|
|
134
140
|
MIT License - see [LICENSE](LICENSE) file for details.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Feedback Collection Module
|
|
3
|
+
*
|
|
4
|
+
* Manages feedback prompts shown to users at workflow completion.
|
|
5
|
+
* Uses Google Forms for collecting feedback without requiring backend infrastructure.
|
|
6
|
+
*
|
|
7
|
+
* Configuration via environment variables:
|
|
8
|
+
* - DOT_AI_FEEDBACK_ENABLED: Enable/disable feedback prompts (default: true)
|
|
9
|
+
* - DOT_AI_FEEDBACK_PROBABILITY: Probability of showing prompt 0.0-1.0 (default: 0.05)
|
|
10
|
+
* - DOT_AI_FEEDBACK_URL: Google Form URL (default: https://forms.gle/dJcDXtsxhCCwgxtT6)
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Feedback configuration loaded from environment variables
|
|
14
|
+
*/
|
|
15
|
+
export interface FeedbackConfig {
|
|
16
|
+
/** Whether feedback prompts are enabled */
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
/** Probability of showing feedback prompt (0.0 to 1.0) */
|
|
19
|
+
probability: number;
|
|
20
|
+
/** Google Form URL for feedback collection */
|
|
21
|
+
formUrl: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Load feedback configuration from environment variables
|
|
25
|
+
*/
|
|
26
|
+
export declare function loadFeedbackConfig(): FeedbackConfig;
|
|
27
|
+
/**
|
|
28
|
+
* Determine if feedback prompt should be shown based on configuration
|
|
29
|
+
* Uses random probability check when feedback is enabled
|
|
30
|
+
*/
|
|
31
|
+
export declare function shouldShowFeedback(config: FeedbackConfig): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Generate the feedback message to append to tool responses
|
|
34
|
+
*/
|
|
35
|
+
export declare function getFeedbackMessage(config: FeedbackConfig): string;
|
|
36
|
+
/**
|
|
37
|
+
* Check if feedback should be shown and return the message if so
|
|
38
|
+
* Convenience function combining shouldShowFeedback and getFeedbackMessage
|
|
39
|
+
*
|
|
40
|
+
* @returns Feedback message string if should be shown, empty string otherwise
|
|
41
|
+
*/
|
|
42
|
+
export declare function maybeGetFeedbackMessage(config?: FeedbackConfig): string;
|
|
43
|
+
//# sourceMappingURL=feedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/core/feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AAiDD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAMnD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAMlE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAQjE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAQvE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* User Feedback Collection Module
|
|
4
|
+
*
|
|
5
|
+
* Manages feedback prompts shown to users at workflow completion.
|
|
6
|
+
* Uses Google Forms for collecting feedback without requiring backend infrastructure.
|
|
7
|
+
*
|
|
8
|
+
* Configuration via environment variables:
|
|
9
|
+
* - DOT_AI_FEEDBACK_ENABLED: Enable/disable feedback prompts (default: true)
|
|
10
|
+
* - DOT_AI_FEEDBACK_PROBABILITY: Probability of showing prompt 0.0-1.0 (default: 0.05)
|
|
11
|
+
* - DOT_AI_FEEDBACK_URL: Google Form URL (default: https://forms.gle/dJcDXtsxhCCwgxtT6)
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.loadFeedbackConfig = loadFeedbackConfig;
|
|
15
|
+
exports.shouldShowFeedback = shouldShowFeedback;
|
|
16
|
+
exports.getFeedbackMessage = getFeedbackMessage;
|
|
17
|
+
exports.maybeGetFeedbackMessage = maybeGetFeedbackMessage;
|
|
18
|
+
/** Default Google Form URL for feedback collection */
|
|
19
|
+
const DEFAULT_FEEDBACK_URL = 'https://forms.gle/dJcDXtsxhCCwgxtT6';
|
|
20
|
+
/** Default probability of showing feedback prompt (5%) */
|
|
21
|
+
const DEFAULT_FEEDBACK_PROBABILITY = 0.05;
|
|
22
|
+
/**
|
|
23
|
+
* Parse boolean from environment variable string
|
|
24
|
+
* Supports: true/false, 1/0, yes/no (case-insensitive)
|
|
25
|
+
*/
|
|
26
|
+
function parseBoolean(value, defaultValue) {
|
|
27
|
+
if (value === undefined || value === '') {
|
|
28
|
+
return defaultValue;
|
|
29
|
+
}
|
|
30
|
+
const lowered = value.trim().toLowerCase();
|
|
31
|
+
if (lowered === 'true' || lowered === '1' || lowered === 'yes') {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
if (lowered === 'false' || lowered === '0' || lowered === 'no') {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return defaultValue;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Parse probability from environment variable string
|
|
41
|
+
* Validates range 0.0 to 1.0, returns default if invalid
|
|
42
|
+
*/
|
|
43
|
+
function parseProbability(value, defaultValue) {
|
|
44
|
+
if (value === undefined || value === '') {
|
|
45
|
+
return defaultValue;
|
|
46
|
+
}
|
|
47
|
+
const probability = parseFloat(value);
|
|
48
|
+
if (isNaN(probability) || probability < 0 || probability > 1) {
|
|
49
|
+
console.warn(`Invalid DOT_AI_FEEDBACK_PROBABILITY: ${value}, using ${defaultValue}`);
|
|
50
|
+
return defaultValue;
|
|
51
|
+
}
|
|
52
|
+
return probability;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Load feedback configuration from environment variables
|
|
56
|
+
*/
|
|
57
|
+
function loadFeedbackConfig() {
|
|
58
|
+
return {
|
|
59
|
+
enabled: parseBoolean(process.env.DOT_AI_FEEDBACK_ENABLED, true),
|
|
60
|
+
probability: parseProbability(process.env.DOT_AI_FEEDBACK_PROBABILITY, DEFAULT_FEEDBACK_PROBABILITY),
|
|
61
|
+
formUrl: process.env.DOT_AI_FEEDBACK_URL || DEFAULT_FEEDBACK_URL
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Determine if feedback prompt should be shown based on configuration
|
|
66
|
+
* Uses random probability check when feedback is enabled
|
|
67
|
+
*/
|
|
68
|
+
function shouldShowFeedback(config) {
|
|
69
|
+
if (!config.enabled) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return Math.random() < config.probability;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Generate the feedback message to append to tool responses
|
|
76
|
+
*/
|
|
77
|
+
function getFeedbackMessage(config) {
|
|
78
|
+
return `
|
|
79
|
+
|
|
80
|
+
════════════════════════════════════════════════════
|
|
81
|
+
📣 Help us improve dot-ai!
|
|
82
|
+
Share your feedback: ${config.formUrl}
|
|
83
|
+
(Disable feedback: DOT_AI_FEEDBACK_ENABLED=false)
|
|
84
|
+
════════════════════════════════════════════════════`;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if feedback should be shown and return the message if so
|
|
88
|
+
* Convenience function combining shouldShowFeedback and getFeedbackMessage
|
|
89
|
+
*
|
|
90
|
+
* @returns Feedback message string if should be shown, empty string otherwise
|
|
91
|
+
*/
|
|
92
|
+
function maybeGetFeedbackMessage(config) {
|
|
93
|
+
const feedbackConfig = config || loadFeedbackConfig();
|
|
94
|
+
if (shouldShowFeedback(feedbackConfig)) {
|
|
95
|
+
return getFeedbackMessage(feedbackConfig);
|
|
96
|
+
}
|
|
97
|
+
return '';
|
|
98
|
+
}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -46,5 +46,6 @@ export { PatternVectorService, PatternSearchOptions, PatternSearchResult } from
|
|
|
46
46
|
export { PolicyVectorService, PolicySearchOptions, PolicySearchResult } from './policy-vector-service';
|
|
47
47
|
export { CapabilityVectorService, ResourceCapability, CapabilitySearchOptions } from './capability-vector-service';
|
|
48
48
|
export { EmbeddingService, EmbeddingConfig, EmbeddingProvider, VercelEmbeddingProvider } from './embedding-service';
|
|
49
|
+
export { FeedbackConfig, loadFeedbackConfig, shouldShowFeedback, getFeedbackMessage, maybeGetFeedbackMessage } from './feedback';
|
|
49
50
|
export default DotAI;
|
|
50
51
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAkB;IAErC,SAAgB,SAAS,EAAE,mBAAmB,CAAC;IAC/C,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAgB,EAAE,EAAE,UAAU,CAAC;IAC/B,SAAgB,MAAM,EAAE;QACtB,MAAM,EAAE,YAAY,CAAC;QACrB,SAAS,EAAE,iBAAiB,CAAC;QAC7B,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;QACnC,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KACjD,CAAC;gBAEU,MAAM,GAAE,UAAe;IA+D7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa/C,aAAa,IAAI,OAAO;IAIxB,UAAU,IAAI,MAAM;CAGrB;AAGD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACpI,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE5G,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAkB;IAErC,SAAgB,SAAS,EAAE,mBAAmB,CAAC;IAC/C,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAgB,EAAE,EAAE,UAAU,CAAC;IAC/B,SAAgB,MAAM,EAAE;QACtB,MAAM,EAAE,YAAY,CAAC;QACrB,SAAS,EAAE,iBAAiB,CAAC;QAC7B,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;QACnC,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KACjD,CAAC;gBAEU,MAAM,GAAE,UAAe;IA+D7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa/C,aAAa,IAAI,OAAO;IAIxB,UAAU,IAAI,MAAM;CAGrB;AAGD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACpI,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE5G,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACpH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAGjI,eAAe,KAAK,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Shared intelligence for both CLI and MCP interfaces
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.VercelEmbeddingProvider = exports.EmbeddingService = exports.CapabilityVectorService = exports.PolicyVectorService = exports.PatternVectorService = exports.BaseVectorService = exports.VectorDBService = exports.deserializePattern = exports.serializePattern = exports.createPattern = exports.validatePattern = exports.ResourceRecommender = exports.ManifestValidator = exports.SchemaParser = exports.AIProviderFactory = exports.createAIProvider = exports.WorkflowEngine = exports.MemorySystem = exports.KubernetesDiscovery = exports.DotAI = void 0;
|
|
8
|
+
exports.maybeGetFeedbackMessage = exports.getFeedbackMessage = exports.shouldShowFeedback = exports.loadFeedbackConfig = exports.VercelEmbeddingProvider = exports.EmbeddingService = exports.CapabilityVectorService = exports.PolicyVectorService = exports.PatternVectorService = exports.BaseVectorService = exports.VectorDBService = exports.deserializePattern = exports.serializePattern = exports.createPattern = exports.validatePattern = exports.ResourceRecommender = exports.ManifestValidator = exports.SchemaParser = exports.AIProviderFactory = exports.createAIProvider = exports.WorkflowEngine = exports.MemorySystem = exports.KubernetesDiscovery = exports.DotAI = void 0;
|
|
9
9
|
const discovery_1 = require("./discovery");
|
|
10
10
|
const memory_1 = require("./memory");
|
|
11
11
|
const workflow_1 = require("./workflow");
|
|
@@ -138,5 +138,10 @@ Object.defineProperty(exports, "CapabilityVectorService", { enumerable: true, ge
|
|
|
138
138
|
var embedding_service_1 = require("./embedding-service");
|
|
139
139
|
Object.defineProperty(exports, "EmbeddingService", { enumerable: true, get: function () { return embedding_service_1.EmbeddingService; } });
|
|
140
140
|
Object.defineProperty(exports, "VercelEmbeddingProvider", { enumerable: true, get: function () { return embedding_service_1.VercelEmbeddingProvider; } });
|
|
141
|
+
var feedback_1 = require("./feedback");
|
|
142
|
+
Object.defineProperty(exports, "loadFeedbackConfig", { enumerable: true, get: function () { return feedback_1.loadFeedbackConfig; } });
|
|
143
|
+
Object.defineProperty(exports, "shouldShowFeedback", { enumerable: true, get: function () { return feedback_1.shouldShowFeedback; } });
|
|
144
|
+
Object.defineProperty(exports, "getFeedbackMessage", { enumerable: true, get: function () { return feedback_1.getFeedbackMessage; } });
|
|
145
|
+
Object.defineProperty(exports, "maybeGetFeedbackMessage", { enumerable: true, get: function () { return feedback_1.maybeGetFeedbackMessage; } });
|
|
141
146
|
// Default export
|
|
142
147
|
exports.default = DotAI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern-operations.d.ts","sourceRoot":"","sources":["../../src/core/pattern-operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAA8C,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAmB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"pattern-operations.d.ts","sourceRoot":"","sources":["../../src/core/pattern-operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAA8C,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAmB,oBAAoB,EAA2B,MAAM,SAAS,CAAC;AASzF,wBAAgB,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CA2BvE;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,qBAAqB,CAwBlF;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAEvE;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAWtE;AAkBD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,EAClJ,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,GAC1G,OAAO,CAAC,GAAG,CAAC,CA0Yd"}
|
|
@@ -278,6 +278,8 @@ async function handlePatternOperation(operation, args, logger, requestId, valida
|
|
|
278
278
|
// For completed patterns, storage failure means creation failure
|
|
279
279
|
const storageSucceeded = storageInfo.stored === true;
|
|
280
280
|
const operationSucceeded = !isComplete || storageSucceeded;
|
|
281
|
+
// Check if we should show feedback message (workflow completion point)
|
|
282
|
+
const feedbackMessage = (isComplete && storageSucceeded) ? (0, index_1.maybeGetFeedbackMessage)() : '';
|
|
281
283
|
return {
|
|
282
284
|
success: operationSucceeded,
|
|
283
285
|
operation: 'create',
|
|
@@ -285,7 +287,7 @@ async function handlePatternOperation(operation, args, logger, requestId, valida
|
|
|
285
287
|
workflow: workflowStep,
|
|
286
288
|
storage: storageInfo,
|
|
287
289
|
message: isComplete ?
|
|
288
|
-
(storageSucceeded ?
|
|
290
|
+
(storageSucceeded ? `Pattern created successfully${feedbackMessage}` : `Pattern creation failed: ${storageInfo.error}`) :
|
|
289
291
|
'Workflow step ready'
|
|
290
292
|
};
|
|
291
293
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-operations.d.ts","sourceRoot":"","sources":["../../src/core/policy-operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA8C,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"policy-operations.d.ts","sourceRoot":"","sources":["../../src/core/policy-operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA8C,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAS9D;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAarE;AAGD;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,EAAE,CAAC,CAoChB;AAED;;GAEG;AACH,wBAAsB,sCAAsC,CAC1D,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,EAAE,CAAC,CAkChB;AAED;;GAEG;AACH,wBAAsB,+BAA+B,CACnD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CAqCd;AAED;;GAEG;AACH,wBAAsB,wCAAwC,CAC5D,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CAkCd;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,GAAG,EAClB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CAyEd;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,GAAG,EAClB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CA6Ed;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,EACjJ,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,GAC1G,OAAO,CAAC,GAAG,CAAC,CA4Qd"}
|
|
@@ -19,6 +19,7 @@ const policy_vector_service_1 = require("./policy-vector-service");
|
|
|
19
19
|
const vector_db_service_1 = require("./vector-db-service");
|
|
20
20
|
const unified_creation_session_1 = require("./unified-creation-session");
|
|
21
21
|
const kubernetes_utils_1 = require("./kubernetes-utils");
|
|
22
|
+
const index_1 = require("./index");
|
|
22
23
|
// Note: validateVectorDBConnection and validateEmbeddingService are shared utilities
|
|
23
24
|
// that remain in the main organizational-data.ts file as they're used by multiple domains
|
|
24
25
|
/**
|
|
@@ -444,6 +445,8 @@ async function handlePolicyOperation(operation, args, logger, requestId, validat
|
|
|
444
445
|
// For completed policies, storage failure means creation failure
|
|
445
446
|
const storageSucceeded = storageInfo.stored === true;
|
|
446
447
|
const operationSucceeded = !isComplete || storageSucceeded;
|
|
448
|
+
// Check if we should show feedback message (workflow completion point)
|
|
449
|
+
const feedbackMessage = (isComplete && storageSucceeded) ? (0, index_1.maybeGetFeedbackMessage)() : '';
|
|
447
450
|
return {
|
|
448
451
|
success: operationSucceeded,
|
|
449
452
|
operation: 'create',
|
|
@@ -451,7 +454,7 @@ async function handlePolicyOperation(operation, args, logger, requestId, validat
|
|
|
451
454
|
workflow: workflowStep,
|
|
452
455
|
storage: storageInfo,
|
|
453
456
|
message: isComplete ?
|
|
454
|
-
(storageSucceeded ?
|
|
457
|
+
(storageSucceeded ? `Policy created and stored successfully${feedbackMessage}` : 'Policy creation failed - storage error') :
|
|
455
458
|
'Workflow step ready'
|
|
456
459
|
};
|
|
457
460
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-manifests.d.ts","sourceRoot":"","sources":["../../src/tools/generate-manifests.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"generate-manifests.d.ts","sourceRoot":"","sources":["../../src/tools/generate-manifests.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,EAA2B,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAehD,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAC/D,eAAO,MAAM,kCAAkC,+IAA+I,CAAC;AAG/L,eAAO,MAAM,mCAAmC;;;CAG/C,CAAC;AAsMF;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EACrD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,CAqNxD"}
|
|
@@ -40,6 +40,7 @@ exports.GENERATEMANIFESTS_TOOL_INPUT_SCHEMA = exports.GENERATEMANIFESTS_TOOL_DES
|
|
|
40
40
|
exports.handleGenerateManifestsTool = handleGenerateManifestsTool;
|
|
41
41
|
const zod_1 = require("zod");
|
|
42
42
|
const error_handling_1 = require("../core/error-handling");
|
|
43
|
+
const index_1 = require("../core/index");
|
|
43
44
|
const cluster_utils_1 = require("../core/cluster-utils");
|
|
44
45
|
const schema_1 = require("../core/schema");
|
|
45
46
|
const fs = __importStar(require("fs"));
|
|
@@ -321,6 +322,8 @@ async function handleGenerateManifestsTool(args, dotAI, logger, requestId) {
|
|
|
321
322
|
requestId
|
|
322
323
|
});
|
|
323
324
|
// Success! Return the validated manifests
|
|
325
|
+
// Check if we should show feedback message (workflow completion point)
|
|
326
|
+
const feedbackMessage = (0, index_1.maybeGetFeedbackMessage)();
|
|
324
327
|
const response = {
|
|
325
328
|
success: true,
|
|
326
329
|
status: 'manifests_generated',
|
|
@@ -328,7 +331,8 @@ async function handleGenerateManifestsTool(args, dotAI, logger, requestId) {
|
|
|
328
331
|
manifests: manifests,
|
|
329
332
|
yamlPath: yamlPath,
|
|
330
333
|
validationAttempts: attempt,
|
|
331
|
-
timestamp: new Date().toISOString()
|
|
334
|
+
timestamp: new Date().toISOString(),
|
|
335
|
+
...(feedbackMessage ? { message: feedbackMessage } : {})
|
|
332
336
|
};
|
|
333
337
|
return {
|
|
334
338
|
content: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operate-execution.d.ts","sourceRoot":"","sources":["../../src/tools/operate-execution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAA8C,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAmB,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"operate-execution.d.ts","sourceRoot":"","sources":["../../src/tools/operate-execution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAA8C,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAmB,aAAa,EAAE,MAAM,WAAW,CAAC;AAI/E;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,GACxD,OAAO,CAAC,aAAa,CAAC,CA2IxB"}
|
|
@@ -10,6 +10,7 @@ exports.executeOperations = executeOperations;
|
|
|
10
10
|
const error_handling_1 = require("../core/error-handling");
|
|
11
11
|
const command_executor_1 = require("../core/command-executor");
|
|
12
12
|
const remediate_1 = require("./remediate");
|
|
13
|
+
const index_1 = require("../core/index");
|
|
13
14
|
/**
|
|
14
15
|
* Executes approved operational changes
|
|
15
16
|
* @param sessionId - Session ID with approved changes
|
|
@@ -92,6 +93,8 @@ async function executeOperations(sessionId, logger, sessionManager) {
|
|
|
92
93
|
failureCount: executionResults.filter(r => !r.success).length
|
|
93
94
|
});
|
|
94
95
|
// 5. Return execution results with validation
|
|
96
|
+
// Check if we should show feedback message (workflow completion point)
|
|
97
|
+
const feedbackMessage = overallSuccess ? (0, index_1.maybeGetFeedbackMessage)() : '';
|
|
95
98
|
return {
|
|
96
99
|
status: overallSuccess ? 'success' : 'failed',
|
|
97
100
|
sessionId,
|
|
@@ -100,7 +103,7 @@ async function executeOperations(sessionId, logger, sessionManager) {
|
|
|
100
103
|
validation: validationSummary
|
|
101
104
|
},
|
|
102
105
|
message: overallSuccess
|
|
103
|
-
? `All ${executionResults.length} command(s) executed successfully. ${validationSummary}`
|
|
106
|
+
? `All ${executionResults.length} command(s) executed successfully. ${validationSummary}${feedbackMessage}`
|
|
104
107
|
: `${executionResults.filter(r => !r.success).length} of ${executionResults.length} command(s) failed. See execution results for details.`
|
|
105
108
|
};
|
|
106
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-scope.d.ts","sourceRoot":"","sources":["../../../src/tools/project-setup/generate-scope.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAgB,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAA2B,aAAa,EAAiB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-scope.d.ts","sourceRoot":"","sources":["../../../src/tools/project-setup/generate-scope.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAgB,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAA2B,aAAa,EAAiB,MAAM,SAAS,CAAC;AAIvG;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,GAAG,aAAa,CAAC,CAiKhD"}
|
|
@@ -10,6 +10,7 @@ exports.handleGenerateScope = handleGenerateScope;
|
|
|
10
10
|
const error_handling_1 = require("../../core/error-handling");
|
|
11
11
|
const generic_session_manager_1 = require("../../core/generic-session-manager");
|
|
12
12
|
const shared_prompt_loader_1 = require("../../core/shared-prompt-loader");
|
|
13
|
+
const index_1 = require("../../core/index");
|
|
13
14
|
/**
|
|
14
15
|
* Handle generateScope stage - Step 3 of project setup workflow
|
|
15
16
|
*
|
|
@@ -130,6 +131,8 @@ async function handleGenerateScope(sessionId, scope, answers, logger, requestId)
|
|
|
130
131
|
if (scopeConfig.additionalInstructions) {
|
|
131
132
|
additionalInstructions = replaceTemplateVariables(scopeConfig.additionalInstructions, answers);
|
|
132
133
|
}
|
|
134
|
+
// Check if we should show feedback message (workflow completion point)
|
|
135
|
+
const feedbackMessage = (0, index_1.maybeGetFeedbackMessage)();
|
|
133
136
|
return {
|
|
134
137
|
success: true,
|
|
135
138
|
sessionId,
|
|
@@ -139,7 +142,7 @@ async function handleGenerateScope(sessionId, scope, answers, logger, requestId)
|
|
|
139
142
|
instructions: `Generated ${generatedFiles.length} file(s) for scope "${scope}".\n\n` +
|
|
140
143
|
`Files:\n${generatedFiles.map(f => `- ${f.path}`).join('\n')}\n\n` +
|
|
141
144
|
(excludedFiles.length > 0 ? `Excluded ${excludedFiles.length} file(s):\n${excludedFiles.map(f => `- ${f}`).join('\n')}\n\n` : '') +
|
|
142
|
-
`Write these files to your repository using the Write tool
|
|
145
|
+
`Write these files to your repository using the Write tool.${feedbackMessage}`,
|
|
143
146
|
additionalInstructions
|
|
144
147
|
};
|
|
145
148
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remediate.d.ts","sourceRoot":"","sources":["../../src/tools/remediate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"remediate.d.ts","sourceRoot":"","sources":["../../src/tools/remediate.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/remediate.js
CHANGED
|
@@ -44,6 +44,7 @@ const error_handling_1 = require("../core/error-handling");
|
|
|
44
44
|
const ai_provider_factory_1 = require("../core/ai-provider-factory");
|
|
45
45
|
const generic_session_manager_1 = require("../core/generic-session-manager");
|
|
46
46
|
const kubectl_tools_1 = require("../core/kubectl-tools");
|
|
47
|
+
const index_1 = require("../core/index");
|
|
47
48
|
const fs = __importStar(require("fs"));
|
|
48
49
|
const path = __importStar(require("path"));
|
|
49
50
|
// PRD #143 Milestone 1: Hybrid approach - AI can use kubectl_api_resources tool OR continue with JSON dataRequests
|
|
@@ -461,6 +462,8 @@ IMPORTANT: You MUST respond with the final JSON analysis format as specified in
|
|
|
461
462
|
validationStatus: validationData.status
|
|
462
463
|
});
|
|
463
464
|
// Create success response with execution context
|
|
465
|
+
// Check if we should show feedback message (workflow completion point)
|
|
466
|
+
const feedbackMessage = (0, index_1.maybeGetFeedbackMessage)();
|
|
464
467
|
const successResponse = {
|
|
465
468
|
status: 'success',
|
|
466
469
|
sessionId: session.sessionId,
|
|
@@ -477,7 +480,7 @@ IMPORTANT: You MUST respond with the final JSON analysis format as specified in
|
|
|
477
480
|
validationIntent: validationData.validationIntent,
|
|
478
481
|
guidance: `✅ REMEDIATION COMPLETE: Issue has been successfully resolved through executed commands.`,
|
|
479
482
|
agentInstructions: `1. Show user that the issue has been successfully resolved\n2. Display the actual kubectl commands that were executed (from remediation.actions[].command field)\n3. Show execution results with success/failure status for each command\n4. Show the validation results confirming the fix worked\n5. No further action required`,
|
|
480
|
-
message: `Issue successfully resolved. Executed ${results.length} remediation actions and validated the fix
|
|
483
|
+
message: `Issue successfully resolved. Executed ${results.length} remediation actions and validated the fix.${feedbackMessage}`,
|
|
481
484
|
validation: {
|
|
482
485
|
success: true,
|
|
483
486
|
summary: 'Validation confirmed issue resolution'
|
|
@@ -510,6 +513,8 @@ IMPORTANT: You MUST respond with the final JSON analysis format as specified in
|
|
|
510
513
|
status: overallSuccess ? 'executed_successfully' : 'executed_with_errors',
|
|
511
514
|
executionResults: results
|
|
512
515
|
});
|
|
516
|
+
// Check if we should show feedback message (workflow completion point)
|
|
517
|
+
const executionFeedbackMessage = overallSuccess ? (0, index_1.maybeGetFeedbackMessage)() : '';
|
|
513
518
|
const response = {
|
|
514
519
|
status: overallSuccess ? 'success' : 'failed',
|
|
515
520
|
sessionId: session.sessionId,
|
|
@@ -517,7 +522,7 @@ IMPORTANT: You MUST respond with the final JSON analysis format as specified in
|
|
|
517
522
|
results: results,
|
|
518
523
|
executedCommands: results.map(r => r.action),
|
|
519
524
|
message: overallSuccess
|
|
520
|
-
? `Successfully executed ${results.length} remediation actions`
|
|
525
|
+
? `Successfully executed ${results.length} remediation actions${executionFeedbackMessage}`
|
|
521
526
|
: `Executed ${results.length} actions with ${results.filter(r => !r.success).length} failures`,
|
|
522
527
|
validation: validationResult,
|
|
523
528
|
instructions: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/tools/version.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/tools/version.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/version.js
CHANGED
|
@@ -601,6 +601,8 @@ async function handleVersionTool(args, logger, requestId) {
|
|
|
601
601
|
capabilitySystemReady: capabilityStatus.systemReady,
|
|
602
602
|
kyvernoReady: kyvernoStatus.policyGenerationReady
|
|
603
603
|
});
|
|
604
|
+
// Check if we should show feedback message
|
|
605
|
+
const feedbackMessage = (0, index_1.maybeGetFeedbackMessage)();
|
|
604
606
|
return {
|
|
605
607
|
content: [{
|
|
606
608
|
type: 'text',
|
|
@@ -626,7 +628,8 @@ async function handleVersionTool(args, logger, requestId) {
|
|
|
626
628
|
kyvernoStatus.policyGenerationReady ? 'kyverno-policy-generation' : null
|
|
627
629
|
].filter(Boolean)
|
|
628
630
|
},
|
|
629
|
-
timestamp: new Date().toISOString()
|
|
631
|
+
timestamp: new Date().toISOString(),
|
|
632
|
+
...(feedbackMessage ? { message: feedbackMessage } : {})
|
|
630
633
|
}, null, 2)
|
|
631
634
|
}]
|
|
632
635
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vfarcic/dot-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.150.0",
|
|
4
4
|
"description": "AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance",
|
|
5
5
|
"mcpName": "io.github.vfarcic/dot-ai",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -147,11 +147,8 @@ git push -u origin feature/prd-[issue-id]-[feature-name]
|
|
|
147
147
|
- **Documentation tools**: Ensure documentation generation tools are available
|
|
148
148
|
|
|
149
149
|
### Implementation Tracking Setup
|
|
150
|
-
- **
|
|
151
|
-
- **
|
|
152
|
-
- **Set up progress tracking**: Identify key milestones for progress updates
|
|
153
|
-
- **✅ CRITICAL: Update milestone checkboxes**: As you complete each implementation milestone in the PRD, immediately mark the corresponding checkbox as [x] completed
|
|
154
|
-
- **Commit milestone updates**: Include PRD milestone updates in your commits to maintain accurate progress tracking
|
|
150
|
+
- **Identify key milestones**: Review the PRD milestones for progress tracking
|
|
151
|
+
- **Plan progress checkpoints**: Determine when to update progress during implementation
|
|
155
152
|
|
|
156
153
|
## Step 4: Identify Implementation Starting Point
|
|
157
154
|
|
|
@@ -208,27 +205,20 @@ If confirmed, provide:
|
|
|
208
205
|
- **Testing approach**: How to validate the implementation
|
|
209
206
|
- **Progress checkpoints**: When to update the PRD with progress
|
|
210
207
|
|
|
211
|
-
###
|
|
212
|
-
|
|
213
|
-
- **Commit initial setup**: Make initial commit with branch and any setup changes
|
|
214
|
-
- **Documentation updates**: Add PRD traceability comments to any docs being implemented
|
|
208
|
+
### After Implementation
|
|
209
|
+
Once you complete a task or milestone, update PRD progress by running the `prd-update-progress` prompt.
|
|
215
210
|
|
|
216
|
-
|
|
217
|
-
Throughout the implementation process:
|
|
218
|
-
- **After completing any milestone**: Immediately update the corresponding checkbox in the PRD file from `[ ]` to `[x]`
|
|
219
|
-
- **Update work log**: Add entries documenting what was accomplished
|
|
220
|
-
- **Keep status current**: Update the PRD status section to reflect current implementation state
|
|
211
|
+
*Note: Different agents/clients may have different syntax for executing commands and prompts (e.g., `/prd-update-progress` in Claude Code, or other syntax in different MCP clients).*
|
|
221
212
|
|
|
222
213
|
## Success Criteria
|
|
223
214
|
|
|
224
215
|
This command should:
|
|
225
216
|
- ✅ Successfully identify the target PRD for implementation
|
|
226
217
|
- ✅ Validate that the PRD is ready for development work
|
|
227
|
-
- ✅ Set up proper implementation context (branch, environment
|
|
218
|
+
- ✅ Set up proper implementation context (branch, environment)
|
|
228
219
|
- ✅ Identify the optimal first implementation task
|
|
229
220
|
- ✅ Provide clear, actionable next steps for beginning development
|
|
230
221
|
- ✅ Bridge the gap between planning and actual coding work
|
|
231
|
-
- ✅ Ensure proper progress tracking is established from the start
|
|
232
222
|
|
|
233
223
|
## Notes
|
|
234
224
|
|