aios-core 4.2.13 → 4.2.15
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/.aios-core/core/code-intel/helpers/dev-helper.js +206 -0
- package/.aios-core/core/registry/registry-schema.json +166 -166
- package/.aios-core/core/synapse/diagnostics/collectors/hook-collector.js +3 -3
- package/.aios-core/data/entity-registry.yaml +27 -0
- package/.aios-core/development/scripts/approval-workflow.js +642 -642
- package/.aios-core/development/scripts/backup-manager.js +606 -606
- package/.aios-core/development/scripts/branch-manager.js +389 -389
- package/.aios-core/development/scripts/code-quality-improver.js +1311 -1311
- package/.aios-core/development/scripts/commit-message-generator.js +849 -849
- package/.aios-core/development/scripts/conflict-resolver.js +674 -674
- package/.aios-core/development/scripts/dependency-analyzer.js +637 -637
- package/.aios-core/development/scripts/diff-generator.js +351 -351
- package/.aios-core/development/scripts/elicitation-engine.js +384 -384
- package/.aios-core/development/scripts/elicitation-session-manager.js +299 -299
- package/.aios-core/development/scripts/git-wrapper.js +461 -461
- package/.aios-core/development/scripts/manifest-preview.js +244 -244
- package/.aios-core/development/scripts/metrics-tracker.js +775 -775
- package/.aios-core/development/scripts/modification-validator.js +554 -554
- package/.aios-core/development/scripts/pattern-learner.js +1224 -1224
- package/.aios-core/development/scripts/performance-analyzer.js +757 -757
- package/.aios-core/development/scripts/refactoring-suggester.js +1138 -1138
- package/.aios-core/development/scripts/rollback-handler.js +530 -530
- package/.aios-core/development/scripts/security-checker.js +358 -358
- package/.aios-core/development/scripts/template-engine.js +239 -239
- package/.aios-core/development/scripts/template-validator.js +278 -278
- package/.aios-core/development/scripts/test-generator.js +843 -843
- package/.aios-core/development/scripts/transaction-manager.js +589 -589
- package/.aios-core/development/scripts/usage-tracker.js +673 -673
- package/.aios-core/development/scripts/validate-filenames.js +226 -226
- package/.aios-core/development/scripts/version-tracker.js +526 -526
- package/.aios-core/development/scripts/yaml-validator.js +396 -396
- package/.aios-core/development/tasks/build-autonomous.md +10 -4
- package/.aios-core/development/tasks/create-service.md +23 -0
- package/.aios-core/development/tasks/dev-develop-story.md +12 -6
- package/.aios-core/development/tasks/dev-suggest-refactoring.md +7 -1
- package/.aios-core/development/tasks/publish-npm.md +3 -3
- package/.aios-core/hooks/unified/README.md +1 -1
- package/.aios-core/install-manifest.yaml +65 -61
- package/.aios-core/manifests/schema/manifest-schema.json +190 -190
- package/.aios-core/product/templates/component-react-tmpl.tsx +98 -98
- package/.aios-core/product/templates/engine/schemas/adr.schema.json +102 -102
- package/.aios-core/product/templates/engine/schemas/dbdr.schema.json +205 -205
- package/.aios-core/product/templates/engine/schemas/epic.schema.json +175 -175
- package/.aios-core/product/templates/engine/schemas/pmdr.schema.json +175 -175
- package/.aios-core/product/templates/engine/schemas/prd-v2.schema.json +300 -300
- package/.aios-core/product/templates/engine/schemas/prd.schema.json +152 -152
- package/.aios-core/product/templates/engine/schemas/story.schema.json +222 -222
- package/.aios-core/product/templates/engine/schemas/task.schema.json +154 -154
- package/.aios-core/product/templates/eslintrc-security.json +32 -32
- package/.aios-core/product/templates/github-actions-cd.yml +212 -212
- package/.aios-core/product/templates/github-actions-ci.yml +172 -172
- package/.aios-core/product/templates/shock-report-tmpl.html +502 -502
- package/.aios-core/product/templates/token-exports-css-tmpl.css +240 -240
- package/.aios-core/quality/schemas/quality-metrics.schema.json +233 -233
- package/.aios-core/scripts/migrate-framework-docs.sh +300 -300
- package/README.en.md +747 -0
- package/README.md +4 -2
- package/bin/aios.js +7 -4
- package/package.json +1 -1
- package/packages/aios-pro-cli/src/recover.js +1 -1
- package/packages/installer/src/wizard/ide-config-generator.js +6 -6
- package/packages/installer/src/wizard/pro-setup.js +3 -3
- package/pro/license/degradation.js +220 -220
- package/pro/license/errors.js +450 -450
- package/pro/license/feature-gate.js +354 -354
- package/pro/license/index.js +181 -181
- package/pro/license/license-cache.js +523 -523
- package/pro/license/license-crypto.js +303 -303
- package/scripts/package-synapse.js +5 -5
- package/scripts/validate-package-completeness.js +3 -3
- package/.aios-core/.session/current-session.json +0 -14
- package/.aios-core/data/registry-update-log.jsonl +0 -191
- package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +0 -335
- package/.aios-core/docs/component-creation-guide.md +0 -458
- package/.aios-core/docs/session-update-pattern.md +0 -307
- package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +0 -1963
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +0 -1190
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +0 -439
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +0 -5398
- package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +0 -523
- package/.aios-core/docs/template-syntax.md +0 -267
- package/.aios-core/docs/troubleshooting-guide.md +0 -625
- package/.aios-core/infrastructure/tests/utilities-audit-results.json +0 -501
- package/.aios-core/manifests/agents.csv +0 -29
- package/.aios-core/manifests/tasks.csv +0 -198
- package/.aios-core/manifests/workers.csv +0 -204
- package/.claude/rules/agent-authority.md +0 -105
- package/.claude/rules/coderabbit-integration.md +0 -93
- package/.claude/rules/ids-principles.md +0 -112
- package/.claude/rules/story-lifecycle.md +0 -139
- package/.claude/rules/workflow-execution.md +0 -150
- package/scripts/glue/README.md +0 -355
- package/scripts/glue/compose-agent-prompt.cjs +0 -362
- /package/.claude/hooks/{precompact-session-digest.js → precompact-session-digest.cjs} +0 -0
- /package/.claude/hooks/{synapse-engine.js → synapse-engine.cjs} +0 -0
package/pro/license/index.js
CHANGED
|
@@ -1,181 +1,181 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* License Module - Public API
|
|
3
|
-
*
|
|
4
|
-
* This module provides the public interface for license management
|
|
5
|
-
* and feature gating in AIOS Pro.
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* const { featureGate, licenseApi } = require('@aios-fullstack/pro/license');
|
|
9
|
-
*
|
|
10
|
-
* // Check feature availability
|
|
11
|
-
* if (featureGate.isAvailable('pro.squads.premium')) {
|
|
12
|
-
* // Feature is licensed
|
|
13
|
-
* }
|
|
14
|
-
*
|
|
15
|
-
* // Require feature (throws if not available)
|
|
16
|
-
* featureGate.require('pro.squads.premium', 'Premium Squads');
|
|
17
|
-
*
|
|
18
|
-
* // Activate license
|
|
19
|
-
* await licenseApi.activate(key, machineId, version);
|
|
20
|
-
*
|
|
21
|
-
* @module pro/license
|
|
22
|
-
* @see ADR-PRO-003 - Feature Gating & Licensing
|
|
23
|
-
* @see Story PRO-6 - License Key & Feature Gating System
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
'use strict';
|
|
27
|
-
|
|
28
|
-
// Feature gating
|
|
29
|
-
const { FeatureGate, featureGate } = require('./feature-gate');
|
|
30
|
-
|
|
31
|
-
// License cache operations
|
|
32
|
-
const {
|
|
33
|
-
writeLicenseCache,
|
|
34
|
-
readLicenseCache,
|
|
35
|
-
deleteLicenseCache,
|
|
36
|
-
isExpired,
|
|
37
|
-
isInGracePeriod,
|
|
38
|
-
getDaysRemaining,
|
|
39
|
-
getExpiryDate,
|
|
40
|
-
getLicenseState,
|
|
41
|
-
setPendingDeactivation,
|
|
42
|
-
hasPendingDeactivation,
|
|
43
|
-
markPendingDeactivationSynced,
|
|
44
|
-
clearPendingDeactivation,
|
|
45
|
-
} = require('./license-cache');
|
|
46
|
-
|
|
47
|
-
// License API client
|
|
48
|
-
const { LicenseApiClient, licenseApi } = require('./license-api');
|
|
49
|
-
|
|
50
|
-
// Crypto utilities
|
|
51
|
-
const {
|
|
52
|
-
generateMachineId,
|
|
53
|
-
maskKey,
|
|
54
|
-
validateKeyFormat,
|
|
55
|
-
} = require('./license-crypto');
|
|
56
|
-
|
|
57
|
-
// Error classes
|
|
58
|
-
const {
|
|
59
|
-
ProFeatureError,
|
|
60
|
-
LicenseActivationError,
|
|
61
|
-
LicenseValidationError,
|
|
62
|
-
} = require('./errors');
|
|
63
|
-
|
|
64
|
-
// Graceful degradation utilities
|
|
65
|
-
const {
|
|
66
|
-
withGracefulDegradation,
|
|
67
|
-
ifProAvailable,
|
|
68
|
-
getFeatureFriendlyName,
|
|
69
|
-
logDegradationMessage,
|
|
70
|
-
createDegradationWrapper,
|
|
71
|
-
isInDegradedMode,
|
|
72
|
-
getDegradationStatus,
|
|
73
|
-
} = require('./degradation');
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Convenience function to check if a feature is available.
|
|
77
|
-
*
|
|
78
|
-
* @param {string} featureId - Feature ID to check
|
|
79
|
-
* @returns {boolean} true if feature is licensed
|
|
80
|
-
*/
|
|
81
|
-
function isFeatureAvailable(featureId) {
|
|
82
|
-
return featureGate.isAvailable(featureId);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Convenience function to require a feature.
|
|
87
|
-
*
|
|
88
|
-
* @param {string} featureId - Feature ID to require
|
|
89
|
-
* @param {string} [friendlyName] - Human-friendly name for error message
|
|
90
|
-
* @throws {ProFeatureError} If feature is not licensed
|
|
91
|
-
*/
|
|
92
|
-
function requireFeature(featureId, friendlyName) {
|
|
93
|
-
featureGate.require(featureId, friendlyName);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Convenience function to get the current license state.
|
|
98
|
-
*
|
|
99
|
-
* @returns {'Active'|'Expired'|'Grace'|'Not Activated'} License state
|
|
100
|
-
*/
|
|
101
|
-
function getCurrentLicenseState() {
|
|
102
|
-
return featureGate.getLicenseState();
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Convenience function to get license info.
|
|
107
|
-
*
|
|
108
|
-
* @returns {{ state: string, features: string[], inGrace: boolean } | null}
|
|
109
|
-
*/
|
|
110
|
-
function getLicenseInfo() {
|
|
111
|
-
return featureGate.getLicenseInfo();
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Convenience function to list available features.
|
|
116
|
-
*
|
|
117
|
-
* @returns {string[]} Array of available feature IDs
|
|
118
|
-
*/
|
|
119
|
-
function listAvailableFeatures() {
|
|
120
|
-
return featureGate.listAvailable();
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Reload license cache (after activation/deactivation).
|
|
125
|
-
*/
|
|
126
|
-
function reloadLicense() {
|
|
127
|
-
featureGate.reload();
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
module.exports = {
|
|
131
|
-
// Primary exports - Feature Gate
|
|
132
|
-
FeatureGate,
|
|
133
|
-
featureGate,
|
|
134
|
-
|
|
135
|
-
// Primary exports - API Client
|
|
136
|
-
LicenseApiClient,
|
|
137
|
-
licenseApi,
|
|
138
|
-
|
|
139
|
-
// Error classes
|
|
140
|
-
ProFeatureError,
|
|
141
|
-
LicenseActivationError,
|
|
142
|
-
LicenseValidationError,
|
|
143
|
-
|
|
144
|
-
// Cache operations
|
|
145
|
-
writeLicenseCache,
|
|
146
|
-
readLicenseCache,
|
|
147
|
-
deleteLicenseCache,
|
|
148
|
-
isExpired,
|
|
149
|
-
isInGracePeriod,
|
|
150
|
-
getDaysRemaining,
|
|
151
|
-
getExpiryDate,
|
|
152
|
-
getLicenseState,
|
|
153
|
-
|
|
154
|
-
// Pending deactivation
|
|
155
|
-
setPendingDeactivation,
|
|
156
|
-
hasPendingDeactivation,
|
|
157
|
-
markPendingDeactivationSynced,
|
|
158
|
-
clearPendingDeactivation,
|
|
159
|
-
|
|
160
|
-
// Crypto utilities
|
|
161
|
-
generateMachineId,
|
|
162
|
-
maskKey,
|
|
163
|
-
validateKeyFormat,
|
|
164
|
-
|
|
165
|
-
// Convenience functions
|
|
166
|
-
isFeatureAvailable,
|
|
167
|
-
requireFeature,
|
|
168
|
-
getCurrentLicenseState,
|
|
169
|
-
getLicenseInfo,
|
|
170
|
-
listAvailableFeatures,
|
|
171
|
-
reloadLicense,
|
|
172
|
-
|
|
173
|
-
// Graceful degradation (AC-8)
|
|
174
|
-
withGracefulDegradation,
|
|
175
|
-
ifProAvailable,
|
|
176
|
-
getFeatureFriendlyName,
|
|
177
|
-
logDegradationMessage,
|
|
178
|
-
createDegradationWrapper,
|
|
179
|
-
isInDegradedMode,
|
|
180
|
-
getDegradationStatus,
|
|
181
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* License Module - Public API
|
|
3
|
+
*
|
|
4
|
+
* This module provides the public interface for license management
|
|
5
|
+
* and feature gating in AIOS Pro.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* const { featureGate, licenseApi } = require('@aios-fullstack/pro/license');
|
|
9
|
+
*
|
|
10
|
+
* // Check feature availability
|
|
11
|
+
* if (featureGate.isAvailable('pro.squads.premium')) {
|
|
12
|
+
* // Feature is licensed
|
|
13
|
+
* }
|
|
14
|
+
*
|
|
15
|
+
* // Require feature (throws if not available)
|
|
16
|
+
* featureGate.require('pro.squads.premium', 'Premium Squads');
|
|
17
|
+
*
|
|
18
|
+
* // Activate license
|
|
19
|
+
* await licenseApi.activate(key, machineId, version);
|
|
20
|
+
*
|
|
21
|
+
* @module pro/license
|
|
22
|
+
* @see ADR-PRO-003 - Feature Gating & Licensing
|
|
23
|
+
* @see Story PRO-6 - License Key & Feature Gating System
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
'use strict';
|
|
27
|
+
|
|
28
|
+
// Feature gating
|
|
29
|
+
const { FeatureGate, featureGate } = require('./feature-gate');
|
|
30
|
+
|
|
31
|
+
// License cache operations
|
|
32
|
+
const {
|
|
33
|
+
writeLicenseCache,
|
|
34
|
+
readLicenseCache,
|
|
35
|
+
deleteLicenseCache,
|
|
36
|
+
isExpired,
|
|
37
|
+
isInGracePeriod,
|
|
38
|
+
getDaysRemaining,
|
|
39
|
+
getExpiryDate,
|
|
40
|
+
getLicenseState,
|
|
41
|
+
setPendingDeactivation,
|
|
42
|
+
hasPendingDeactivation,
|
|
43
|
+
markPendingDeactivationSynced,
|
|
44
|
+
clearPendingDeactivation,
|
|
45
|
+
} = require('./license-cache');
|
|
46
|
+
|
|
47
|
+
// License API client
|
|
48
|
+
const { LicenseApiClient, licenseApi } = require('./license-api');
|
|
49
|
+
|
|
50
|
+
// Crypto utilities
|
|
51
|
+
const {
|
|
52
|
+
generateMachineId,
|
|
53
|
+
maskKey,
|
|
54
|
+
validateKeyFormat,
|
|
55
|
+
} = require('./license-crypto');
|
|
56
|
+
|
|
57
|
+
// Error classes
|
|
58
|
+
const {
|
|
59
|
+
ProFeatureError,
|
|
60
|
+
LicenseActivationError,
|
|
61
|
+
LicenseValidationError,
|
|
62
|
+
} = require('./errors');
|
|
63
|
+
|
|
64
|
+
// Graceful degradation utilities
|
|
65
|
+
const {
|
|
66
|
+
withGracefulDegradation,
|
|
67
|
+
ifProAvailable,
|
|
68
|
+
getFeatureFriendlyName,
|
|
69
|
+
logDegradationMessage,
|
|
70
|
+
createDegradationWrapper,
|
|
71
|
+
isInDegradedMode,
|
|
72
|
+
getDegradationStatus,
|
|
73
|
+
} = require('./degradation');
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Convenience function to check if a feature is available.
|
|
77
|
+
*
|
|
78
|
+
* @param {string} featureId - Feature ID to check
|
|
79
|
+
* @returns {boolean} true if feature is licensed
|
|
80
|
+
*/
|
|
81
|
+
function isFeatureAvailable(featureId) {
|
|
82
|
+
return featureGate.isAvailable(featureId);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Convenience function to require a feature.
|
|
87
|
+
*
|
|
88
|
+
* @param {string} featureId - Feature ID to require
|
|
89
|
+
* @param {string} [friendlyName] - Human-friendly name for error message
|
|
90
|
+
* @throws {ProFeatureError} If feature is not licensed
|
|
91
|
+
*/
|
|
92
|
+
function requireFeature(featureId, friendlyName) {
|
|
93
|
+
featureGate.require(featureId, friendlyName);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Convenience function to get the current license state.
|
|
98
|
+
*
|
|
99
|
+
* @returns {'Active'|'Expired'|'Grace'|'Not Activated'} License state
|
|
100
|
+
*/
|
|
101
|
+
function getCurrentLicenseState() {
|
|
102
|
+
return featureGate.getLicenseState();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Convenience function to get license info.
|
|
107
|
+
*
|
|
108
|
+
* @returns {{ state: string, features: string[], inGrace: boolean } | null}
|
|
109
|
+
*/
|
|
110
|
+
function getLicenseInfo() {
|
|
111
|
+
return featureGate.getLicenseInfo();
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Convenience function to list available features.
|
|
116
|
+
*
|
|
117
|
+
* @returns {string[]} Array of available feature IDs
|
|
118
|
+
*/
|
|
119
|
+
function listAvailableFeatures() {
|
|
120
|
+
return featureGate.listAvailable();
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Reload license cache (after activation/deactivation).
|
|
125
|
+
*/
|
|
126
|
+
function reloadLicense() {
|
|
127
|
+
featureGate.reload();
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
module.exports = {
|
|
131
|
+
// Primary exports - Feature Gate
|
|
132
|
+
FeatureGate,
|
|
133
|
+
featureGate,
|
|
134
|
+
|
|
135
|
+
// Primary exports - API Client
|
|
136
|
+
LicenseApiClient,
|
|
137
|
+
licenseApi,
|
|
138
|
+
|
|
139
|
+
// Error classes
|
|
140
|
+
ProFeatureError,
|
|
141
|
+
LicenseActivationError,
|
|
142
|
+
LicenseValidationError,
|
|
143
|
+
|
|
144
|
+
// Cache operations
|
|
145
|
+
writeLicenseCache,
|
|
146
|
+
readLicenseCache,
|
|
147
|
+
deleteLicenseCache,
|
|
148
|
+
isExpired,
|
|
149
|
+
isInGracePeriod,
|
|
150
|
+
getDaysRemaining,
|
|
151
|
+
getExpiryDate,
|
|
152
|
+
getLicenseState,
|
|
153
|
+
|
|
154
|
+
// Pending deactivation
|
|
155
|
+
setPendingDeactivation,
|
|
156
|
+
hasPendingDeactivation,
|
|
157
|
+
markPendingDeactivationSynced,
|
|
158
|
+
clearPendingDeactivation,
|
|
159
|
+
|
|
160
|
+
// Crypto utilities
|
|
161
|
+
generateMachineId,
|
|
162
|
+
maskKey,
|
|
163
|
+
validateKeyFormat,
|
|
164
|
+
|
|
165
|
+
// Convenience functions
|
|
166
|
+
isFeatureAvailable,
|
|
167
|
+
requireFeature,
|
|
168
|
+
getCurrentLicenseState,
|
|
169
|
+
getLicenseInfo,
|
|
170
|
+
listAvailableFeatures,
|
|
171
|
+
reloadLicense,
|
|
172
|
+
|
|
173
|
+
// Graceful degradation (AC-8)
|
|
174
|
+
withGracefulDegradation,
|
|
175
|
+
ifProAvailable,
|
|
176
|
+
getFeatureFriendlyName,
|
|
177
|
+
logDegradationMessage,
|
|
178
|
+
createDegradationWrapper,
|
|
179
|
+
isInDegradedMode,
|
|
180
|
+
getDegradationStatus,
|
|
181
|
+
};
|