@iamramo/zanat-cli 0.5.4 → 0.5.5
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 +16 -10
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/add.js +3 -3
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/remove.js +3 -3
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/search.js +2 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/schemas/segment-name.d.ts +3 -0
- package/dist/schemas/segment-name.d.ts.map +1 -0
- package/dist/schemas/segment-name.js +9 -0
- package/dist/schemas/segment-name.js.map +1 -0
- package/dist/schemas/skill-arg.d.ts +2 -2
- package/dist/schemas/skill-arg.d.ts.map +1 -1
- package/dist/schemas/skill-arg.js +14 -9
- package/dist/schemas/skill-arg.js.map +1 -1
- package/dist/utils/validation.js +1 -1
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,14 +10,14 @@ npm install -g @iamramo/zanat-cli
|
|
|
10
10
|
|
|
11
11
|
## Commands
|
|
12
12
|
|
|
13
|
-
| Command | Description | Usage
|
|
14
|
-
| -------- | ----------------------------------------------------------- |
|
|
15
|
-
| `init` | Initialize zanat configuration and clone the hub repository | `zanat init`
|
|
16
|
-
| `sync` | Pull the latest changes from the hub repository | `zanat sync`
|
|
17
|
-
| `search` | Search for available skills in the hub | `zanat search [query]`
|
|
18
|
-
| `add` | Add a skill to your local skills | `zanat add <
|
|
19
|
-
| `remove` | Remove a skill from your local skills | `zanat remove <
|
|
20
|
-
| `list` | List all added skills | `zanat list`
|
|
13
|
+
| Command | Description | Usage |
|
|
14
|
+
| -------- | ----------------------------------------------------------- | ------------------------------------- |
|
|
15
|
+
| `init` | Initialize zanat configuration and clone the hub repository | `zanat init` |
|
|
16
|
+
| `sync` | Pull the latest changes from the hub repository | `zanat sync` |
|
|
17
|
+
| `search` | Search for available skills in the hub | `zanat search [query]` |
|
|
18
|
+
| `add` | Add a skill to your local skills | `zanat add <namespace.skill-name>` |
|
|
19
|
+
| `remove` | Remove a skill from your local skills | `zanat remove <namespace.skill-name>` |
|
|
20
|
+
| `list` | List all added skills | `zanat list` |
|
|
21
21
|
|
|
22
22
|
## Getting Started
|
|
23
23
|
|
|
@@ -38,13 +38,19 @@ npm install -g @iamramo/zanat-cli
|
|
|
38
38
|
3. **Add a skill:**
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
zanat add yurchi
|
|
41
|
+
zanat add yurchi.code-review
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
You can also use nested namespaces:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
zanat add company.team.code-review
|
|
42
48
|
```
|
|
43
49
|
|
|
44
50
|
4. **Remove a skill:**
|
|
45
51
|
|
|
46
52
|
```bash
|
|
47
|
-
zanat remove yurchi
|
|
53
|
+
zanat remove yurchi.code-review
|
|
48
54
|
```
|
|
49
55
|
|
|
50
56
|
5. **List added skills:**
|
package/dist/cli.js
CHANGED
|
@@ -15,11 +15,11 @@ program
|
|
|
15
15
|
program.command('sync').description('Sync with the hub repository').action(syncCommand);
|
|
16
16
|
program
|
|
17
17
|
.command('add <skill>')
|
|
18
|
-
.description('Add a skill (format:
|
|
18
|
+
.description('Add a skill (format: namespace.skill-name or namespace.sub.skill-name)')
|
|
19
19
|
.action(addCommand);
|
|
20
20
|
program
|
|
21
21
|
.command('remove <skill>')
|
|
22
|
-
.description('Remove a skill (format:
|
|
22
|
+
.description('Remove a skill (format: namespace.skill-name or namespace.sub.skill-name)')
|
|
23
23
|
.action(removeCommand);
|
|
24
24
|
program.command('list').description('List added skills').action(listCommand);
|
|
25
25
|
program.command('search [query]').description('Search for skills in the hub').action(searchCommand);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAE5F,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAExF,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAE5F,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAExF,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,UAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAE7E,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEpG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAE1F,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/commands/add.js
CHANGED
|
@@ -5,9 +5,9 @@ export const addCommand = async (skillArg) => {
|
|
|
5
5
|
logger.info(`Adding skill: ${skillArg}...`);
|
|
6
6
|
try {
|
|
7
7
|
await ensureHubExists();
|
|
8
|
-
const {
|
|
9
|
-
await installSkill(
|
|
10
|
-
logger.success(`Added
|
|
8
|
+
const { namespace, skillName } = validateSkillArg(skillArg);
|
|
9
|
+
await installSkill(namespace, skillName);
|
|
10
|
+
logger.success(`Added ${skillArg}`);
|
|
11
11
|
}
|
|
12
12
|
catch (error) {
|
|
13
13
|
logger.error('Failed to add', error);
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE3E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IAClE,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE3E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IAClE,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
|
package/dist/commands/remove.js
CHANGED
|
@@ -5,9 +5,9 @@ export const removeCommand = async (skillArg) => {
|
|
|
5
5
|
logger.info(`Removing skill: ${skillArg}...`);
|
|
6
6
|
try {
|
|
7
7
|
await ensureHubExists();
|
|
8
|
-
const {
|
|
9
|
-
await removeSkill(
|
|
10
|
-
logger.success(`Removed
|
|
8
|
+
const { namespace, skillName } = validateSkillArg(skillArg);
|
|
9
|
+
await removeSkill(namespace, skillName);
|
|
10
|
+
logger.success(`Removed ${skillArg}`);
|
|
11
11
|
}
|
|
12
12
|
catch (error) {
|
|
13
13
|
logger.error('Failed to remove', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE3E,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IACrE,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,KAAK,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE3E,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IACrE,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,KAAK,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAExC,MAAM,CAAC,OAAO,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
|
package/dist/commands/search.js
CHANGED
|
@@ -18,13 +18,13 @@ export const searchCommand = async (query) => {
|
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
results.forEach((skill) => {
|
|
21
|
-
console.log(chalk.green('•'),
|
|
21
|
+
console.log(chalk.green('•'), skill.fullName);
|
|
22
22
|
logger.dim(` ${skill.description}`);
|
|
23
23
|
logger.blank();
|
|
24
24
|
});
|
|
25
25
|
logger.dim(`Found ${results.length} skill${results.length === 1 ? '' : 's'}`);
|
|
26
26
|
logger.blank();
|
|
27
|
-
logger.dim('Add a skill with: zanat add <
|
|
27
|
+
logger.dim('Add a skill with: zanat add <namespace.skill-name>');
|
|
28
28
|
}
|
|
29
29
|
catch (error) {
|
|
30
30
|
logger.error('Failed to search', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;IACnE,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QAExB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;IACnE,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QAExB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-name.d.ts","sourceRoot":"","sources":["../../src/schemas/segment-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB,aAQ3B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { STARTS_WITH_LOWERCASE, ALLOWED_CHARS_ONLY, MIN_LENGTH, MAX_LENGTH } from './common.js';
|
|
3
|
+
export const SegmentNameSchema = z
|
|
4
|
+
.string()
|
|
5
|
+
.min(MIN_LENGTH, `Segment must be at least ${MIN_LENGTH} characters`)
|
|
6
|
+
.max(MAX_LENGTH, `Segment must be at most ${MAX_LENGTH} characters`)
|
|
7
|
+
.regex(STARTS_WITH_LOWERCASE, 'Segment must start with a lowercase letter')
|
|
8
|
+
.regex(ALLOWED_CHARS_ONLY, 'Segment can only contain lowercase letters, numbers, hyphens, and underscores');
|
|
9
|
+
//# sourceMappingURL=segment-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-name.js","sourceRoot":"","sources":["../../src/schemas/segment-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,GAAG,CAAC,UAAU,EAAE,4BAA4B,UAAU,aAAa,CAAC;KACpE,GAAG,CAAC,UAAU,EAAE,2BAA2B,UAAU,aAAa,CAAC;KACnE,KAAK,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;KAC1E,KAAK,CACJ,kBAAkB,EAClB,+EAA+E,CAChF,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const SkillArgSchema: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
3
|
-
|
|
3
|
+
namespace: string[];
|
|
4
4
|
skillName: string | undefined;
|
|
5
5
|
}, string>>, z.ZodObject<{
|
|
6
|
-
|
|
6
|
+
namespace: z.ZodArray<z.ZodString>;
|
|
7
7
|
skillName: z.ZodString;
|
|
8
8
|
}, z.core.$strip>>;
|
|
9
9
|
export type SkillArg = z.infer<typeof SkillArgSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-arg.d.ts","sourceRoot":"","sources":["../../src/schemas/skill-arg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-arg.d.ts","sourceRoot":"","sources":["../../src/schemas/skill-arg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;;kBAqBxB,CAAC;AAEJ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import { SkillNameSchema } from './skill-name.js';
|
|
2
|
+
import { SegmentNameSchema } from './segment-name.js';
|
|
4
3
|
export const SkillArgSchema = z
|
|
5
4
|
.string()
|
|
6
|
-
.transform((val) => {
|
|
7
|
-
const parts = val.split('
|
|
8
|
-
if (parts.length
|
|
9
|
-
|
|
5
|
+
.transform((val, ctx) => {
|
|
6
|
+
const parts = val.split('.');
|
|
7
|
+
if (parts.length < 2) {
|
|
8
|
+
ctx.addIssue({
|
|
9
|
+
code: z.ZodIssueCode.custom,
|
|
10
|
+
message: 'Invalid format. Use: namespace.skill-name or namespace.subnamespace.skill-name (e.g., mycompany.hello-world or mycompany.team.hello-world)',
|
|
11
|
+
});
|
|
12
|
+
return z.NEVER;
|
|
10
13
|
}
|
|
11
|
-
|
|
14
|
+
const skillName = parts[parts.length - 1];
|
|
15
|
+
const namespace = parts.slice(0, -1);
|
|
16
|
+
return { namespace, skillName };
|
|
12
17
|
})
|
|
13
18
|
.pipe(z.object({
|
|
14
|
-
|
|
15
|
-
skillName:
|
|
19
|
+
namespace: z.array(SegmentNameSchema).min(1),
|
|
20
|
+
skillName: SegmentNameSchema,
|
|
16
21
|
}));
|
|
17
22
|
//# sourceMappingURL=skill-arg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-arg.js","sourceRoot":"","sources":["../../src/schemas/skill-arg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"skill-arg.js","sourceRoot":"","sources":["../../src/schemas/skill-arg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EACL,4IAA4I;SAC/I,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC,CAAC;KACD,IAAI,CACH,CAAC,CAAC,MAAM,CAAC;IACP,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,SAAS,EAAE,iBAAiB;CAC7B,CAAC,CACH,CAAC"}
|
package/dist/utils/validation.js
CHANGED
|
@@ -6,7 +6,7 @@ export const validateSkillArg = (skillArg) => {
|
|
|
6
6
|
if (!result.success) {
|
|
7
7
|
const errorMessage = result.error.issues[0]?.message ?? 'Invalid skill format';
|
|
8
8
|
logger.error(errorMessage);
|
|
9
|
-
logger.dim('Example: mycompany
|
|
9
|
+
logger.dim('Example: mycompany.hello-world or mycompany.team.hello-world');
|
|
10
10
|
process.exit(1);
|
|
11
11
|
}
|
|
12
12
|
return result.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAiB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAY,EAAE;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,sBAAsB,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAiB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAY,EAAE;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,sBAAsB,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAmB,EAAE;IACvD,MAAM,SAAS,GAAG,MAAM,WAAW,EAAE,CAAC;IACtC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
|