@vfarcic/dot-ai 0.119.0 → 0.125.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/assets/images/logo.png +0 -0
- package/assets/project-setup/discovery-config.json +671 -0
- package/assets/project-setup/templates/.github/CODEOWNERS.hbs +25 -0
- package/assets/project-setup/templates/.github/FUNDING.yml.hbs +35 -0
- package/assets/project-setup/templates/.github/ISSUE_TEMPLATE/bug_report.yml.hbs +175 -0
- package/assets/project-setup/templates/.github/ISSUE_TEMPLATE/config.yml.hbs +32 -0
- package/assets/project-setup/templates/.github/ISSUE_TEMPLATE/feature_request.yml.hbs +134 -0
- package/assets/project-setup/templates/.github/PULL_REQUEST_TEMPLATE.md.hbs +172 -0
- package/assets/project-setup/templates/.github/labeler.yml.hbs +123 -0
- package/assets/project-setup/templates/.github/release.yml.hbs +51 -0
- package/assets/project-setup/templates/.github/workflows/labeler.yml.hbs +21 -0
- package/assets/project-setup/templates/.github/workflows/scorecard.yml.hbs +71 -0
- package/assets/project-setup/templates/.github/workflows/stale.yml.hbs +57 -0
- package/assets/project-setup/templates/ADOPTERS.md.hbs +119 -0
- package/assets/project-setup/templates/CODE_OF_CONDUCT.md.hbs +132 -0
- package/assets/project-setup/templates/CONTRIBUTING.md.hbs +159 -0
- package/assets/project-setup/templates/LICENSE.hbs +933 -0
- package/assets/project-setup/templates/NOTICE.hbs +5 -0
- package/assets/project-setup/templates/README.md.hbs +11 -0
- package/assets/project-setup/templates/SECURITY.md.hbs +44 -0
- package/assets/project-setup/templates/SUPPORT.md.hbs +146 -0
- package/assets/project-setup/templates/docs/GOVERNANCE.md.hbs +127 -0
- package/assets/project-setup/templates/docs/MAINTAINERS.md.hbs +49 -0
- package/assets/project-setup/templates/docs/ROADMAP.md.hbs +63 -0
- package/assets/project-setup/templates/renovate.json.hbs +38 -0
- package/dist/core/ai-provider-factory.d.ts.map +1 -1
- package/dist/core/ai-provider-factory.js +22 -5
- package/dist/core/ai-provider.interface.d.ts +16 -0
- package/dist/core/ai-provider.interface.d.ts.map +1 -1
- package/dist/core/capability-scan-workflow.d.ts.map +1 -1
- package/dist/core/capability-scan-workflow.js +1 -2
- package/dist/core/discovery.d.ts +6 -0
- package/dist/core/discovery.d.ts.map +1 -1
- package/dist/core/discovery.js +35 -0
- package/dist/core/embedding-service.d.ts.map +1 -1
- package/dist/core/embedding-service.js +9 -2
- package/dist/core/model-config.d.ts +2 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +3 -1
- package/dist/core/providers/provider-debug-utils.d.ts +4 -0
- package/dist/core/providers/provider-debug-utils.d.ts.map +1 -1
- package/dist/core/providers/provider-debug-utils.js +25 -3
- package/dist/core/providers/vercel-provider.d.ts +1 -0
- package/dist/core/providers/vercel-provider.d.ts.map +1 -1
- package/dist/core/providers/vercel-provider.js +35 -6
- package/dist/core/unified-creation-session.js +1 -1
- package/dist/tools/project-setup/discovery.js +3 -3
- package/dist/tools/project-setup/generate-scope.js +2 -2
- package/package.json +4 -1
- package/shared-prompts/prd-done.md +45 -4
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Reporting Security Vulnerabilities
|
|
4
|
+
|
|
5
|
+
**Please do not report security vulnerabilities through public GitHub issues.**
|
|
6
|
+
|
|
7
|
+
If you discover a security vulnerability, please report it by emailing [{{securityEmail}}](mailto:{{securityEmail}}).
|
|
8
|
+
|
|
9
|
+
Please include the following information in your report:
|
|
10
|
+
|
|
11
|
+
- Description of the vulnerability
|
|
12
|
+
- Steps to reproduce the issue
|
|
13
|
+
- Affected versions
|
|
14
|
+
- Potential impact
|
|
15
|
+
- Any suggested fixes (if available)
|
|
16
|
+
|
|
17
|
+
## Response Timeline
|
|
18
|
+
|
|
19
|
+
We will acknowledge your report within **3 business days** and provide a detailed response within **7 business days** indicating the next steps in handling your report.
|
|
20
|
+
|
|
21
|
+
We will keep you informed of the progress towards a fix and may ask for additional information or guidance.
|
|
22
|
+
|
|
23
|
+
## Security Updates
|
|
24
|
+
|
|
25
|
+
Security updates will be released as soon as possible after a fix is available. We recommend keeping your installation up to date with the latest releases.
|
|
26
|
+
|
|
27
|
+
{{#if supportedVersions}}
|
|
28
|
+
## Supported Versions
|
|
29
|
+
|
|
30
|
+
{{supportedVersions}}
|
|
31
|
+
{{/if}}
|
|
32
|
+
|
|
33
|
+
## Security Best Practices
|
|
34
|
+
|
|
35
|
+
When using {{projectName}}, we recommend:
|
|
36
|
+
|
|
37
|
+
- Keep the software updated to the latest version
|
|
38
|
+
- Follow the principle of least privilege
|
|
39
|
+
- Review and audit your configurations regularly
|
|
40
|
+
{{#if additionalSecurityGuidance}}
|
|
41
|
+
- {{additionalSecurityGuidance}}
|
|
42
|
+
{{/if}}
|
|
43
|
+
|
|
44
|
+
Thank you for helping to keep {{projectName}} and our users safe!
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Support
|
|
2
|
+
|
|
3
|
+
Welcome to {{projectName}}! We're here to help you get the most out of the project.
|
|
4
|
+
|
|
5
|
+
## Getting Help
|
|
6
|
+
|
|
7
|
+
There are several ways to get help with {{projectName}}, listed in order of recommendation:
|
|
8
|
+
|
|
9
|
+
### 1. Documentation
|
|
10
|
+
|
|
11
|
+
Start with our [documentation]({{docsUrl}}) which includes:
|
|
12
|
+
- Getting started guides
|
|
13
|
+
- API references
|
|
14
|
+
- Troubleshooting guides
|
|
15
|
+
- Best practices
|
|
16
|
+
|
|
17
|
+
Most common questions are answered in the docs.
|
|
18
|
+
|
|
19
|
+
### 2. GitHub Discussions
|
|
20
|
+
|
|
21
|
+
For questions, ideas, and community discussions, use [GitHub Discussions]({{discussionsUrl}}).
|
|
22
|
+
|
|
23
|
+
**Best for:**
|
|
24
|
+
- How-to questions
|
|
25
|
+
- Feature discussions
|
|
26
|
+
- Sharing use cases
|
|
27
|
+
- Community Q&A
|
|
28
|
+
|
|
29
|
+
{{#if stackOverflowTag}}
|
|
30
|
+
### Stack Overflow
|
|
31
|
+
|
|
32
|
+
Ask questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/{{stackOverflowTag}}) using the `{{stackOverflowTag}}` tag.
|
|
33
|
+
|
|
34
|
+
**Best for:**
|
|
35
|
+
- Technical questions
|
|
36
|
+
- Implementation guidance
|
|
37
|
+
- Troubleshooting specific scenarios
|
|
38
|
+
|
|
39
|
+
{{/if}}
|
|
40
|
+
{{#if slackUrl}}
|
|
41
|
+
### Slack
|
|
42
|
+
|
|
43
|
+
Join our Slack workspace at [{{slackUrl}}]({{slackUrl}}) for real-time chat with maintainers and community members.
|
|
44
|
+
|
|
45
|
+
**Best for:**
|
|
46
|
+
- Quick questions
|
|
47
|
+
- Real-time collaboration
|
|
48
|
+
- Community networking
|
|
49
|
+
|
|
50
|
+
{{/if}}
|
|
51
|
+
{{#if discordUrl}}
|
|
52
|
+
### Discord
|
|
53
|
+
|
|
54
|
+
Join our Discord server at [{{discordUrl}}]({{discordUrl}}) for real-time discussions.
|
|
55
|
+
|
|
56
|
+
**Best for:**
|
|
57
|
+
- Quick questions
|
|
58
|
+
- Real-time support
|
|
59
|
+
- Community chat
|
|
60
|
+
|
|
61
|
+
{{/if}}
|
|
62
|
+
{{#if forumUrl}}
|
|
63
|
+
### Forum
|
|
64
|
+
|
|
65
|
+
Visit our [community forum]({{forumUrl}}) for threaded discussions and long-form conversations.
|
|
66
|
+
|
|
67
|
+
{{/if}}
|
|
68
|
+
|
|
69
|
+
## Reporting Bugs
|
|
70
|
+
|
|
71
|
+
**Please use GitHub Issues ONLY for bug reports and feature requests.**
|
|
72
|
+
|
|
73
|
+
Before creating a new issue:
|
|
74
|
+
1. Check existing issues to avoid duplicates
|
|
75
|
+
2. Review the [troubleshooting guide]({{docsUrl}}/troubleshooting)
|
|
76
|
+
3. Gather relevant information (logs, versions, reproduction steps)
|
|
77
|
+
|
|
78
|
+
[Report a bug]({{projectUrl}}/issues/new?template=bug_report.md)
|
|
79
|
+
|
|
80
|
+
## What NOT to Report as Issues
|
|
81
|
+
|
|
82
|
+
Please **do not** use GitHub Issues for:
|
|
83
|
+
- ❌ General questions (use Discussions{{#if stackOverflowTag}} or Stack Overflow{{/if}})
|
|
84
|
+
- ❌ Support requests (use Discussions{{#if slackUrl}} or Slack{{/if}})
|
|
85
|
+
- ❌ How-to questions (check documentation first)
|
|
86
|
+
{{#if slackUrl}}
|
|
87
|
+
- ❌ Real-time help (use Slack{{#if discordUrl}} or Discord{{/if}})
|
|
88
|
+
{{/if}}
|
|
89
|
+
|
|
90
|
+
Issues that don't follow this guideline may be closed and redirected to the appropriate channel.
|
|
91
|
+
|
|
92
|
+
## Response Time Expectations
|
|
93
|
+
|
|
94
|
+
{{#if maintainerCount}}
|
|
95
|
+
This project is maintained by {{maintainerCount}} maintainer(s).
|
|
96
|
+
{{/if}}
|
|
97
|
+
|
|
98
|
+
**Response times vary based on:**
|
|
99
|
+
- Severity and impact of the issue
|
|
100
|
+
- Maintainer availability
|
|
101
|
+
- Community engagement
|
|
102
|
+
|
|
103
|
+
**Typical response times:**
|
|
104
|
+
- Critical bugs: {{criticalResponseTime}}
|
|
105
|
+
- Feature requests: {{featureResponseTime}}
|
|
106
|
+
- Questions: {{questionResponseTime}}
|
|
107
|
+
|
|
108
|
+
Please be patient and respectful. This is an open-source project, and responses depend on volunteer time.
|
|
109
|
+
|
|
110
|
+
{{#if commercialSupportAvailable}}
|
|
111
|
+
## Commercial Support
|
|
112
|
+
|
|
113
|
+
Professional support is available through {{commercialSupportProvider}}.
|
|
114
|
+
|
|
115
|
+
For enterprise support inquiries, contact: {{commercialSupportEmail}}
|
|
116
|
+
|
|
117
|
+
Commercial support includes:
|
|
118
|
+
- Dedicated support team
|
|
119
|
+
- SLA guarantees
|
|
120
|
+
- Custom feature development
|
|
121
|
+
- Priority bug fixes
|
|
122
|
+
- Training and consulting
|
|
123
|
+
|
|
124
|
+
{{/if}}
|
|
125
|
+
## Security Vulnerabilities
|
|
126
|
+
|
|
127
|
+
**Do not report security vulnerabilities through public GitHub issues.**
|
|
128
|
+
|
|
129
|
+
Please follow our [Security Policy]({{projectUrl}}/security/policy) for responsible disclosure.
|
|
130
|
+
|
|
131
|
+
Report vulnerabilities to: {{securityEmail}}
|
|
132
|
+
|
|
133
|
+
## Contributing
|
|
134
|
+
|
|
135
|
+
If you'd like to contribute to {{projectName}}, please read our [Contributing Guide]({{projectUrl}}/blob/main/CONTRIBUTING.md).
|
|
136
|
+
|
|
137
|
+
We welcome:
|
|
138
|
+
- Bug fixes
|
|
139
|
+
- Feature implementations
|
|
140
|
+
- Documentation improvements
|
|
141
|
+
- Test coverage
|
|
142
|
+
- Community support
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
**Thank you for using {{projectName}}!** We appreciate your patience and engagement with the community.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Project Governance
|
|
2
|
+
|
|
3
|
+
This document describes the governance model for {{projectName}}.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
{{projectName}} is committed to transparent and inclusive decision-making. This document outlines how decisions are made and who has authority over different aspects of the project.
|
|
8
|
+
|
|
9
|
+
## Roles
|
|
10
|
+
|
|
11
|
+
### Contributors
|
|
12
|
+
|
|
13
|
+
Anyone who contributes to the project through code, documentation, issues, or discussions.
|
|
14
|
+
|
|
15
|
+
### Maintainers
|
|
16
|
+
|
|
17
|
+
Maintainers have write access to the repository and are responsible for:
|
|
18
|
+
|
|
19
|
+
- Reviewing and merging pull requests
|
|
20
|
+
- Triaging issues
|
|
21
|
+
- Making technical decisions
|
|
22
|
+
- Ensuring code quality
|
|
23
|
+
- Releasing new versions
|
|
24
|
+
|
|
25
|
+
See [MAINTAINERS.md](MAINTAINERS.md) for the current list of maintainers.
|
|
26
|
+
|
|
27
|
+
{{#if hasCommitters}}
|
|
28
|
+
### Committers
|
|
29
|
+
|
|
30
|
+
Committers have demonstrated expertise and commitment to the project. They can approve pull requests and participate in technical decisions.
|
|
31
|
+
|
|
32
|
+
{{/if}}
|
|
33
|
+
{{#if hasSteeringCommittee}}
|
|
34
|
+
### Steering Committee
|
|
35
|
+
|
|
36
|
+
The Steering Committee provides strategic direction and makes decisions on project scope, governance changes, and maintainer appointments.
|
|
37
|
+
|
|
38
|
+
{{/if}}
|
|
39
|
+
|
|
40
|
+
## Decision-Making Process
|
|
41
|
+
|
|
42
|
+
### Routine Decisions
|
|
43
|
+
|
|
44
|
+
Day-to-day technical decisions are made by maintainers through:
|
|
45
|
+
|
|
46
|
+
- Pull request reviews
|
|
47
|
+
- Issue discussions
|
|
48
|
+
- Direct commits for minor changes
|
|
49
|
+
|
|
50
|
+
{{#if requiresConsensus}}
|
|
51
|
+
### Major Decisions
|
|
52
|
+
|
|
53
|
+
Significant changes require consensus among maintainers:
|
|
54
|
+
|
|
55
|
+
- Architecture changes
|
|
56
|
+
- Breaking changes
|
|
57
|
+
- New feature additions
|
|
58
|
+
- Governance changes
|
|
59
|
+
|
|
60
|
+
**Consensus Process:**
|
|
61
|
+
|
|
62
|
+
1. Proposal is documented in an issue or discussion
|
|
63
|
+
2. Maintainers discuss and provide feedback
|
|
64
|
+
3. If no objections within 7 days, consensus is reached
|
|
65
|
+
4. If objections exist, continue discussion or call for a vote
|
|
66
|
+
|
|
67
|
+
{{/if}}
|
|
68
|
+
{{#if hasVoting}}
|
|
69
|
+
### Voting
|
|
70
|
+
|
|
71
|
+
When consensus cannot be reached, decisions are made by vote:
|
|
72
|
+
|
|
73
|
+
- Each maintainer has one vote
|
|
74
|
+
- Decisions require {{votingThreshold}} of maintainers to pass
|
|
75
|
+
- Votes are recorded in the relevant issue or pull request
|
|
76
|
+
|
|
77
|
+
{{/if}}
|
|
78
|
+
|
|
79
|
+
## Becoming a Maintainer
|
|
80
|
+
|
|
81
|
+
Contributors can become maintainers by:
|
|
82
|
+
|
|
83
|
+
1. **Sustained Contributions** - Regular, high-quality contributions over {{maintainerPeriod}}
|
|
84
|
+
2. **Technical Expertise** - Demonstrated understanding of the codebase
|
|
85
|
+
3. **Community Engagement** - Helpful reviews and issue triage
|
|
86
|
+
4. **Nomination** - Existing maintainer nominates the contributor
|
|
87
|
+
5. **Approval** - {{#if hasVoting}}Majority vote{{else}}Consensus{{/if}} from current maintainers
|
|
88
|
+
|
|
89
|
+
## Removing Maintainers
|
|
90
|
+
|
|
91
|
+
Maintainers may step down voluntarily or be removed if:
|
|
92
|
+
|
|
93
|
+
- Inactive for more than {{inactivityPeriod}}
|
|
94
|
+
- Violation of Code of Conduct
|
|
95
|
+
- Consistent disregard for project processes
|
|
96
|
+
|
|
97
|
+
{{#if hasVoting}}
|
|
98
|
+
Removal requires {{votingThreshold}} of remaining maintainers.
|
|
99
|
+
{{else}}
|
|
100
|
+
Removal requires consensus of remaining maintainers.
|
|
101
|
+
{{/if}}
|
|
102
|
+
|
|
103
|
+
## Changes to Governance
|
|
104
|
+
|
|
105
|
+
Changes to this governance document require:
|
|
106
|
+
|
|
107
|
+
{{#if hasVoting}}
|
|
108
|
+
- Proposal in a GitHub issue
|
|
109
|
+
- Discussion period of at least 14 days
|
|
110
|
+
- {{votingThreshold}} approval from maintainers
|
|
111
|
+
{{else}}
|
|
112
|
+
- Proposal in a GitHub issue
|
|
113
|
+
- Discussion period of at least 14 days
|
|
114
|
+
- Consensus from all active maintainers
|
|
115
|
+
{{/if}}
|
|
116
|
+
|
|
117
|
+
## Questions or Concerns
|
|
118
|
+
|
|
119
|
+
If you have questions about governance, please:
|
|
120
|
+
|
|
121
|
+
1. Open a GitHub Discussion
|
|
122
|
+
2. Contact the maintainers at {{maintainerEmail}}
|
|
123
|
+
3. Attend a community meeting (if applicable)
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
*This governance model may evolve as the project grows. All changes will be documented in this file's history.*
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Maintainers
|
|
2
|
+
|
|
3
|
+
This document lists the maintainers of {{projectName}}.
|
|
4
|
+
|
|
5
|
+
## Current Maintainers
|
|
6
|
+
|
|
7
|
+
{{#if maintainersList}}
|
|
8
|
+
{{maintainersList}}
|
|
9
|
+
{{else}}
|
|
10
|
+
| Name | Email | GitHub | Role |
|
|
11
|
+
|------|-------|--------|------|
|
|
12
|
+
| {{maintainerName}} | {{maintainerEmail}} | @{{maintainerGithub}} | Lead Maintainer |
|
|
13
|
+
{{/if}}
|
|
14
|
+
|
|
15
|
+
## Responsibilities
|
|
16
|
+
|
|
17
|
+
Maintainers are responsible for:
|
|
18
|
+
|
|
19
|
+
- Reviewing and merging pull requests
|
|
20
|
+
- Triaging and responding to issues
|
|
21
|
+
- Making technical decisions about the project
|
|
22
|
+
- Ensuring code quality and project standards
|
|
23
|
+
- Releasing new versions
|
|
24
|
+
- Mentoring contributors
|
|
25
|
+
|
|
26
|
+
## Becoming a Maintainer
|
|
27
|
+
|
|
28
|
+
Maintainers are typically promoted from active contributors who have:
|
|
29
|
+
|
|
30
|
+
- Demonstrated expertise in the project
|
|
31
|
+
- Contributed high-quality code and reviews
|
|
32
|
+
- Shown commitment to the project's success
|
|
33
|
+
- Earned the trust of existing maintainers
|
|
34
|
+
|
|
35
|
+
If you're interested in becoming a maintainer, start by contributing regularly and engaging with the community.
|
|
36
|
+
|
|
37
|
+
## Emeritus Maintainers
|
|
38
|
+
|
|
39
|
+
{{#if emeritusMaintainers}}
|
|
40
|
+
We thank the following people for their past contributions as maintainers:
|
|
41
|
+
|
|
42
|
+
{{emeritusMaintainers}}
|
|
43
|
+
{{else}}
|
|
44
|
+
_No emeritus maintainers at this time._
|
|
45
|
+
{{/if}}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
*Note: This list may be incomplete. Maintainers can direct questions to the appropriate person.*
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
This document outlines the planned direction and priorities for {{projectName}}.
|
|
4
|
+
|
|
5
|
+
{{#if roadmapIntro}}
|
|
6
|
+
{{roadmapIntro}}
|
|
7
|
+
{{else}}
|
|
8
|
+
This roadmap is a living document and may change based on community feedback and project priorities.
|
|
9
|
+
{{/if}}
|
|
10
|
+
|
|
11
|
+
{{#if githubProjectUrl}}
|
|
12
|
+
**Live Progress**: Track detailed progress on our [GitHub Project Board]({{githubProjectUrl}})
|
|
13
|
+
{{/if}}
|
|
14
|
+
|
|
15
|
+
## Short-term (Next 1-3 Months)
|
|
16
|
+
|
|
17
|
+
{{#if shortTermGoals}}
|
|
18
|
+
{{shortTermGoals}}
|
|
19
|
+
{{else}}
|
|
20
|
+
- Core functionality implementation
|
|
21
|
+
- Documentation and examples
|
|
22
|
+
- Initial testing and bug fixes
|
|
23
|
+
- First stable release
|
|
24
|
+
{{/if}}
|
|
25
|
+
|
|
26
|
+
## Medium-term (3-6 Months)
|
|
27
|
+
|
|
28
|
+
{{#if mediumTermGoals}}
|
|
29
|
+
{{mediumTermGoals}}
|
|
30
|
+
{{else}}
|
|
31
|
+
- Additional features based on user feedback
|
|
32
|
+
- Performance improvements
|
|
33
|
+
- Expanded documentation
|
|
34
|
+
- Community building
|
|
35
|
+
{{/if}}
|
|
36
|
+
|
|
37
|
+
## Long-term (6-12 Months)
|
|
38
|
+
|
|
39
|
+
{{#if longTermGoals}}
|
|
40
|
+
{{longTermGoals}}
|
|
41
|
+
{{else}}
|
|
42
|
+
- Advanced features and integrations
|
|
43
|
+
- Ecosystem development
|
|
44
|
+
- Stability and maturity improvements
|
|
45
|
+
{{/if}}
|
|
46
|
+
|
|
47
|
+
{{#if futureConsiderations}}
|
|
48
|
+
## Future Considerations
|
|
49
|
+
|
|
50
|
+
{{futureConsiderations}}
|
|
51
|
+
{{/if}}
|
|
52
|
+
|
|
53
|
+
## How to Contribute
|
|
54
|
+
|
|
55
|
+
We welcome contributions toward any roadmap items:
|
|
56
|
+
|
|
57
|
+
1. Check the [issue tracker]({{repositoryUrl}}/issues) for related work
|
|
58
|
+
2. Comment on issues or open discussions
|
|
59
|
+
3. See [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
*This roadmap reflects current plans but is subject to change.*
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
+
"extends": [
|
|
4
|
+
"config:recommended"
|
|
5
|
+
],
|
|
6
|
+
"labels": ["dependencies"],
|
|
7
|
+
"prConcurrentLimit": {{prConcurrentLimit}},
|
|
8
|
+
"prHourlyLimit": {{prHourlyLimit}},
|
|
9
|
+
"dependencyDashboard": {{enableDependencyDashboard}},
|
|
10
|
+
{{#isTrue enableDependencyDashboard}}
|
|
11
|
+
"dependencyDashboardTitle": "Dependency Dashboard",
|
|
12
|
+
{{/isTrue}}
|
|
13
|
+
"osvVulnerabilityAlerts": {{enableVulnerabilityAlerts}},
|
|
14
|
+
"schedule": [
|
|
15
|
+
"{{schedule}}"
|
|
16
|
+
],
|
|
17
|
+
"packageRules": [
|
|
18
|
+
{{#isTrue groupDependencies}}
|
|
19
|
+
{
|
|
20
|
+
"description": "Group all non-major dependencies together",
|
|
21
|
+
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
|
|
22
|
+
"groupName": "all non-major dependencies",
|
|
23
|
+
"groupSlug": "all-minor-patch"
|
|
24
|
+
},
|
|
25
|
+
{{/isTrue}}
|
|
26
|
+
{
|
|
27
|
+
"description": "Automerge non-major updates",
|
|
28
|
+
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
|
|
29
|
+
"automerge": {{automergeMinor}}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"description": "Security updates",
|
|
33
|
+
"matchUpdateTypes": ["security"],
|
|
34
|
+
"labels": ["security"],
|
|
35
|
+
"automerge": {{automergeSecurity}}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider-factory.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AA+BjC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAgCnD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,IAAI,UAAU;
|
|
1
|
+
{"version":3,"file":"ai-provider-factory.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AA+BjC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAgCnD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,IAAI,UAAU;IA6ElC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAItC;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMrD;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAMxC;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGxD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C"}
|
|
@@ -108,13 +108,15 @@ class AIProviderFactory {
|
|
|
108
108
|
return new noop_provider_1.NoOpAIProvider();
|
|
109
109
|
}
|
|
110
110
|
// Get API key for the provider
|
|
111
|
+
// PRD #194: Support CUSTOM_LLM_API_KEY for custom LLM endpoints
|
|
112
|
+
// Priority: 1. CUSTOM_LLM_API_KEY, 2. Provider-specific key (e.g., OPENAI_API_KEY)
|
|
111
113
|
const apiKeyEnvVar = PROVIDER_ENV_KEYS[providerType];
|
|
112
114
|
if (!apiKeyEnvVar) {
|
|
113
115
|
process.stderr.write(`WARNING: No API key environment variable defined for provider: ${providerType}. ` +
|
|
114
116
|
`Falling back to NoOpProvider.\n`);
|
|
115
117
|
return new noop_provider_1.NoOpAIProvider();
|
|
116
118
|
}
|
|
117
|
-
const apiKey = process.env[apiKeyEnvVar];
|
|
119
|
+
const apiKey = process.env.CUSTOM_LLM_API_KEY || process.env[apiKeyEnvVar];
|
|
118
120
|
if (!apiKey) {
|
|
119
121
|
process.stderr.write(`INFO: ${apiKeyEnvVar} not configured. ` +
|
|
120
122
|
`AI features will be unavailable. ` +
|
|
@@ -125,20 +127,35 @@ class AIProviderFactory {
|
|
|
125
127
|
const model = process.env.AI_MODEL;
|
|
126
128
|
// Get debug mode setting
|
|
127
129
|
const debugMode = process.env.DEBUG_DOT_AI === 'true';
|
|
130
|
+
// PRD #194: Get custom endpoint URL for OpenAI-compatible LLM APIs
|
|
131
|
+
// Use CUSTOM_LLM_BASE_URL for LLM endpoints (separate from OPENAI_BASE_URL used for embeddings)
|
|
132
|
+
const baseURL = process.env.CUSTOM_LLM_BASE_URL;
|
|
133
|
+
// PRD #194: Detect OpenRouter and override provider type
|
|
134
|
+
// OpenRouter requires dedicated provider for proper tool calling support
|
|
135
|
+
let effectiveProviderType = providerType;
|
|
136
|
+
if (baseURL && baseURL.includes('openrouter.ai')) {
|
|
137
|
+
effectiveProviderType = 'openrouter';
|
|
138
|
+
}
|
|
139
|
+
else if (baseURL) {
|
|
140
|
+
// Generic custom endpoint (Ollama, vLLM, LiteLLM, etc.)
|
|
141
|
+
effectiveProviderType = 'custom';
|
|
142
|
+
}
|
|
128
143
|
// If SDK override to 'vercel', use VercelProvider for all providers
|
|
129
144
|
if (sdkPreference === 'vercel') {
|
|
130
145
|
return new vercel_provider_1.VercelProvider({
|
|
131
|
-
provider:
|
|
146
|
+
provider: effectiveProviderType,
|
|
132
147
|
apiKey,
|
|
133
148
|
model,
|
|
134
|
-
debugMode
|
|
149
|
+
debugMode,
|
|
150
|
+
baseURL
|
|
135
151
|
});
|
|
136
152
|
}
|
|
137
153
|
return this.create({
|
|
138
|
-
provider:
|
|
154
|
+
provider: effectiveProviderType,
|
|
139
155
|
apiKey,
|
|
140
156
|
model,
|
|
141
|
-
debugMode
|
|
157
|
+
debugMode,
|
|
158
|
+
baseURL
|
|
142
159
|
});
|
|
143
160
|
}
|
|
144
161
|
/**
|
|
@@ -69,6 +69,22 @@ export interface AIProviderConfig {
|
|
|
69
69
|
model?: string;
|
|
70
70
|
/** Enable debug mode for logging AI interactions */
|
|
71
71
|
debugMode?: boolean;
|
|
72
|
+
/** Custom endpoint URL for OpenAI-compatible APIs (PRD #194)
|
|
73
|
+
*
|
|
74
|
+
* Enables connection to:
|
|
75
|
+
* - Self-hosted LLMs (Ollama, vLLM, LocalAI)
|
|
76
|
+
* - Alternative SaaS providers (Azure OpenAI, LiteLLM, OpenRouter)
|
|
77
|
+
* - Internal inference services
|
|
78
|
+
*
|
|
79
|
+
* Example values:
|
|
80
|
+
* - Ollama: "http://ollama-service:11434/v1"
|
|
81
|
+
* - vLLM: "http://vllm-service:8000/v1"
|
|
82
|
+
* - Azure OpenAI: "https://YOUR_RESOURCE.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT"
|
|
83
|
+
*
|
|
84
|
+
* Note: Models must support 8K+ output tokens. Custom endpoint will receive
|
|
85
|
+
* maxOutputTokens=8192 in API requests.
|
|
86
|
+
*/
|
|
87
|
+
baseURL?: string;
|
|
72
88
|
}
|
|
73
89
|
/**
|
|
74
90
|
* Tool definition for AI providers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider.interface.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,qBAAqB,GACrB,0BAA0B,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,EAAE,wBAAwB,EAAE,CAAC;IACvD,iBAAiB,EAAE;QACjB,oBAAoB,EAAE,WAAW,CAAC;QAClC,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,aAAa,EAAE;QACb,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IAEf,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IAEjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-provider.interface.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-scan-workflow.d.ts","sourceRoot":"","sources":["../../src/core/capability-scan-workflow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAMtE,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AACzL,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AAChI,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;AAC1F,MAAM,MAAM,wCAAwC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;AAoBlN,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,oBAAoB,GAAG,wBAAwB,GAAG,iBAAiB,GAAG,UAAU,GAAG,UAAU,CAAC;IAC3G,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAsBD;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,oBAAoB,EAAE,sBAAsB,EAC5C,2BAA2B,EAAE,6BAA6B,GACzD,OAAO,CAAC,GAAG,CAAC,CAkKd;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,2BAA2B,EAAE,6BAA6B,GACzD,OAAO,CAAC,GAAG,CAAC,CAgFd;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,uBAAuB,EAC1C,oBAAoB,EAAE,sBAAsB,EAC5C,2BAA2B,EAAE,6BAA6B,EAC1D,wBAAwB,EAAE,0BAA0B,EACpD,sCAAsC,EAAE,wCAAwC,EAChF,gBAAgB,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,sCAAsC,EAAE,wCAAwC,KAAK,OAAO,CAAC,GAAG,CAAC,GAC7Y,OAAO,CAAC,GAAG,CAAC,CAuCd;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,uBAAuB,EAC1C,oBAAoB,EAAE,sBAAsB,EAC5C,2BAA2B,EAAE,6BAA6B,EAC1D,wBAAwB,EAAE,0BAA0B,EACpD,sCAAsC,EAAE,wCAAwC,GAC/E,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"capability-scan-workflow.d.ts","sourceRoot":"","sources":["../../src/core/capability-scan-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -492,8 +492,7 @@ async function handleScanning(session, args, logger, requestId, capabilityServic
|
|
|
492
492
|
await discovery.connect();
|
|
493
493
|
// Get complete CRD definition if it's a custom resource
|
|
494
494
|
if (resourceName.includes('.')) {
|
|
495
|
-
|
|
496
|
-
resourceDefinition = crdOutput;
|
|
495
|
+
resourceDefinition = await discovery.getCRDDefinition(resourceName);
|
|
497
496
|
logger.info('Found complete CRD definition for capability analysis', {
|
|
498
497
|
requestId,
|
|
499
498
|
sessionId: session.sessionId,
|
package/dist/core/discovery.d.ts
CHANGED
|
@@ -150,6 +150,12 @@ export declare class KubernetesDiscovery {
|
|
|
150
150
|
explainResource(resource: string, options?: {
|
|
151
151
|
field?: string;
|
|
152
152
|
}): Promise<string>;
|
|
153
|
+
/**
|
|
154
|
+
* Get CRD definition with cleaned-up YAML (removes massive annotations and unnecessary fields)
|
|
155
|
+
* @param crdName - Name of the CRD (e.g., 'workflows.argoproj.io')
|
|
156
|
+
* @returns Cleaned YAML string suitable for AI prompts
|
|
157
|
+
*/
|
|
158
|
+
getCRDDefinition(crdName: string): Promise<string>;
|
|
153
159
|
fingerprintCluster(): Promise<ClusterFingerprint>;
|
|
154
160
|
private getResourceCounts;
|
|
155
161
|
private getNetworkingInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"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"}
|