@trikhub/cli 0.5.0 → 0.7.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 (49) hide show
  1. package/README.md +102 -206
  2. package/dist/cli.js +7 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/info.d.ts.map +1 -1
  5. package/dist/commands/info.js +35 -0
  6. package/dist/commands/info.js.map +1 -1
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +104 -27
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/install.d.ts +6 -5
  11. package/dist/commands/install.d.ts.map +1 -1
  12. package/dist/commands/install.js +139 -74
  13. package/dist/commands/install.js.map +1 -1
  14. package/dist/commands/lint.d.ts.map +1 -1
  15. package/dist/commands/lint.js +20 -1
  16. package/dist/commands/lint.js.map +1 -1
  17. package/dist/commands/list.d.ts.map +1 -1
  18. package/dist/commands/list.js +34 -2
  19. package/dist/commands/list.js.map +1 -1
  20. package/dist/commands/mcp.d.ts +11 -0
  21. package/dist/commands/mcp.d.ts.map +1 -0
  22. package/dist/commands/mcp.js +90 -0
  23. package/dist/commands/mcp.js.map +1 -0
  24. package/dist/commands/publish.d.ts.map +1 -1
  25. package/dist/commands/publish.js +38 -32
  26. package/dist/commands/publish.js.map +1 -1
  27. package/dist/commands/uninstall.d.ts.map +1 -1
  28. package/dist/commands/uninstall.js +18 -19
  29. package/dist/commands/uninstall.js.map +1 -1
  30. package/dist/commands/upgrade.d.ts.map +1 -1
  31. package/dist/commands/upgrade.js +122 -5
  32. package/dist/commands/upgrade.js.map +1 -1
  33. package/dist/lib/registry.d.ts +1 -0
  34. package/dist/lib/registry.d.ts.map +1 -1
  35. package/dist/lib/registry.js +9 -14
  36. package/dist/lib/registry.js.map +1 -1
  37. package/dist/templates/python.d.ts +1 -24
  38. package/dist/templates/python.d.ts.map +1 -1
  39. package/dist/templates/python.js +2 -262
  40. package/dist/templates/python.js.map +1 -1
  41. package/dist/templates/typescript.d.ts +13 -11
  42. package/dist/templates/typescript.d.ts.map +1 -1
  43. package/dist/templates/typescript.js +219 -173
  44. package/dist/templates/typescript.js.map +1 -1
  45. package/package.json +5 -8
  46. package/dist/lib/validator.d.ts +0 -33
  47. package/dist/lib/validator.d.ts.map +0 -1
  48. package/dist/lib/validator.js +0 -133
  49. package/dist/lib/validator.js.map +0 -1
@@ -1,133 +0,0 @@
1
- /**
2
- * @deprecated Use @trikhub/linter instead.
3
- *
4
- * This validator is deprecated and no longer used by the CLI.
5
- * All validation is now centralized in @trikhub/linter which provides:
6
- * - Support for both Node.js and Python package structures
7
- * - Consistent validation between `trik lint` and `trik publish`
8
- * - Full manifest schema validation via @trikhub/manifest
9
- *
10
- * Migration:
11
- * import { TrikLinter } from '@trikhub/linter';
12
- * const linter = new TrikLinter({ checkCompiledEntry: true });
13
- * const results = await linter.lintManifestOnly(trikPath);
14
- *
15
- * This file will be removed in a future version.
16
- */
17
- import { readFileSync, existsSync } from 'node:fs';
18
- import { join } from 'node:path';
19
- import { findUnconstrainedStrings } from '@trikhub/manifest';
20
- /**
21
- * @deprecated Use TrikLinter.lintManifestOnly() from @trikhub/linter instead.
22
- */
23
- export function validateTrik(trikPath) {
24
- const errors = [];
25
- const warnings = [];
26
- // 1. Check manifest.json exists
27
- const manifestPath = join(trikPath, 'manifest.json');
28
- if (!existsSync(manifestPath)) {
29
- return {
30
- valid: false,
31
- errors: ['Missing manifest.json'],
32
- warnings: [],
33
- };
34
- }
35
- // 2. Parse manifest
36
- let manifest;
37
- try {
38
- const content = readFileSync(manifestPath, 'utf-8');
39
- manifest = JSON.parse(content);
40
- }
41
- catch (error) {
42
- return {
43
- valid: false,
44
- errors: [`Invalid manifest.json: ${error instanceof Error ? error.message : 'Parse error'}`],
45
- warnings: [],
46
- };
47
- }
48
- // 3. Validate required fields
49
- const requiredFields = ['schemaVersion', 'id', 'name', 'version', 'description', 'entry', 'actions', 'capabilities', 'limits'];
50
- for (const field of requiredFields) {
51
- if (!(field in manifest)) {
52
- errors.push(`Missing required field: ${field}`);
53
- }
54
- }
55
- if (errors.length > 0) {
56
- return { valid: false, errors, warnings };
57
- }
58
- // 4. Validate entry point
59
- if (!manifest.entry?.module || !manifest.entry?.export) {
60
- errors.push('Invalid entry: must have module and export');
61
- }
62
- else {
63
- const entryPath = join(trikPath, manifest.entry.module);
64
- if (!existsSync(entryPath)) {
65
- errors.push(`Entry point not found: ${manifest.entry.module}`);
66
- }
67
- }
68
- // 5. Validate actions
69
- if (!manifest.actions || Object.keys(manifest.actions).length === 0) {
70
- errors.push('Manifest must define at least one action');
71
- }
72
- // 6. Check each action for privilege separation
73
- for (const [actionName, action] of Object.entries(manifest.actions || {})) {
74
- // Validate responseMode
75
- if (!['template', 'passthrough'].includes(action.responseMode)) {
76
- errors.push(`Action "${actionName}": Invalid responseMode "${action.responseMode}"`);
77
- continue;
78
- }
79
- // Template mode: must have agentDataSchema and responseTemplates
80
- if (action.responseMode === 'template') {
81
- if (!action.agentDataSchema) {
82
- errors.push(`Action "${actionName}": Template mode requires agentDataSchema`);
83
- }
84
- else {
85
- // Check for unconstrained strings in agentDataSchema (security check)
86
- const unconstrained = findUnconstrainedStrings(action.agentDataSchema, `actions.${actionName}.agentDataSchema`);
87
- for (const path of unconstrained) {
88
- errors.push(`Action "${actionName}": Unconstrained string at ${path}`);
89
- }
90
- }
91
- if (!action.responseTemplates || Object.keys(action.responseTemplates).length === 0) {
92
- errors.push(`Action "${actionName}": Template mode requires responseTemplates`);
93
- }
94
- }
95
- // Passthrough mode: must have userContentSchema
96
- if (action.responseMode === 'passthrough') {
97
- if (!action.userContentSchema) {
98
- errors.push(`Action "${actionName}": Passthrough mode requires userContentSchema`);
99
- }
100
- }
101
- }
102
- // 7. Validate limits
103
- if (manifest.limits) {
104
- if (manifest.limits.maxExecutionTimeMs > 120000) {
105
- warnings.push('maxExecutionTimeMs is very high (>2min)');
106
- }
107
- }
108
- return {
109
- valid: errors.length === 0,
110
- errors,
111
- warnings,
112
- };
113
- }
114
- /**
115
- * @deprecated Use TrikLinter.formatResults() from @trikhub/linter instead.
116
- */
117
- export function formatValidationResult(result) {
118
- const lines = [];
119
- if (result.valid) {
120
- lines.push('Validation passed');
121
- }
122
- else {
123
- lines.push('Validation failed');
124
- }
125
- for (const error of result.errors) {
126
- lines.push(` [error] ${error}`);
127
- }
128
- for (const warning of result.warnings) {
129
- lines.push(` [warn] ${warning}`);
130
- }
131
- return lines.join('\n');
132
- }
133
- //# sourceMappingURL=validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/lib/validator.ts"],"names":[],"mappings":"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"}