@guiho/mirror 3.2.0 → 3.3.0-alpha.1

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 (54) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/DOCS.md +142 -76
  3. package/README.md +15 -41
  4. package/jsr.json +4 -2
  5. package/package.json +11 -20
  6. package/schema/mirror.config.schema.json +231 -0
  7. package/scripts/install-package.ts +70 -0
  8. package/scripts/mirror-bin.ts +20 -0
  9. package/skills/guiho-as-mirror/SKILL.md +2 -29
  10. package/library/adapters.d.ts +0 -32
  11. package/library/adapters.d.ts.map +0 -1
  12. package/library/adapters.js +0 -210
  13. package/library/agents.d.ts +0 -27
  14. package/library/agents.d.ts.map +0 -1
  15. package/library/agents.js +0 -200
  16. package/library/cli.d.ts +0 -29
  17. package/library/cli.d.ts.map +0 -1
  18. package/library/cli.js +0 -387
  19. package/library/config.d.ts +0 -18
  20. package/library/config.d.ts.map +0 -1
  21. package/library/config.js +0 -277
  22. package/library/errors.d.ts +0 -9
  23. package/library/errors.d.ts.map +0 -1
  24. package/library/errors.js +0 -15
  25. package/library/executor.d.ts +0 -7
  26. package/library/executor.d.ts.map +0 -1
  27. package/library/executor.js +0 -32
  28. package/library/flags.d.ts +0 -6
  29. package/library/flags.d.ts.map +0 -1
  30. package/library/flags.js +0 -80
  31. package/library/guiho-mirror-bin.d.ts +0 -6
  32. package/library/guiho-mirror-bin.d.ts.map +0 -1
  33. package/library/guiho-mirror-bin.js +0 -6
  34. package/library/guiho-mirror.d.ts +0 -17
  35. package/library/guiho-mirror.d.ts.map +0 -1
  36. package/library/guiho-mirror.js +0 -15
  37. package/library/init.d.ts +0 -12
  38. package/library/init.d.ts.map +0 -1
  39. package/library/init.js +0 -100
  40. package/library/plan.d.ts +0 -10
  41. package/library/plan.d.ts.map +0 -1
  42. package/library/plan.js +0 -85
  43. package/library/reporter.d.ts +0 -14
  44. package/library/reporter.d.ts.map +0 -1
  45. package/library/reporter.js +0 -156
  46. package/library/schema.d.ts +0 -133
  47. package/library/schema.d.ts.map +0 -1
  48. package/library/schema.js +0 -128
  49. package/library/types.d.ts +0 -190
  50. package/library/types.d.ts.map +0 -1
  51. package/library/types.js +0 -4
  52. package/library/version.d.ts +0 -10
  53. package/library/version.d.ts.map +0 -1
  54. package/library/version.js +0 -31
@@ -1,190 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2026 GUIHO Technologies as represented by Cristóvão GUIHO. All Rights Reserved.
3
- */
4
- import type { ReleaseType } from 'semver';
5
- export type MirrorAdapterName = 'package.json' | 'jsr.json' | 'git';
6
- export type MirrorProjectNameSource = 'package.json' | 'jsr.json';
7
- export type MirrorFormat = 'text' | 'json';
8
- export type MirrorVersionTarget = ReleaseType | string;
9
- export type MirrorJsonObject = Record<string, unknown>;
10
- export type MirrorSkillInstallScope = 'local' | 'global';
11
- export type MirrorRawConfig = Partial<{
12
- schema: number;
13
- project: Partial<{
14
- name: string;
15
- name_source: MirrorProjectNameSource;
16
- }>;
17
- version: Partial<{
18
- scheme: 'semver';
19
- source: MirrorAdapterName;
20
- output: MirrorAdapterName[];
21
- prerelease_id: string;
22
- }>;
23
- package: Partial<{
24
- path: string;
25
- auxiliary_paths: string[];
26
- }>;
27
- jsr: Partial<{
28
- path: string;
29
- }>;
30
- git: Partial<{
31
- tag_template: string;
32
- commit: boolean;
33
- push: boolean;
34
- allow_dirty: boolean;
35
- }>;
36
- agents: Partial<{
37
- write_changelog: boolean;
38
- changelog_path: string;
39
- auto_agents_md: boolean;
40
- auto_skill_install: boolean;
41
- }>;
42
- }>;
43
- export type MirrorConfig = {
44
- schema: 1;
45
- cwd: string;
46
- configPath?: string;
47
- project: {
48
- name?: string;
49
- nameSource?: MirrorProjectNameSource;
50
- };
51
- version: {
52
- scheme: 'semver';
53
- source: MirrorAdapterName;
54
- output: MirrorAdapterName[];
55
- prereleaseId: string;
56
- };
57
- package: {
58
- path: string;
59
- auxiliaryPaths: string[];
60
- };
61
- jsr: {
62
- path: string;
63
- };
64
- git: {
65
- tagTemplate: string;
66
- commit: boolean;
67
- push: boolean;
68
- allowDirty: boolean;
69
- };
70
- agents: MirrorAgentSettings;
71
- };
72
- export type MirrorAgentSettings = {
73
- writeChangelog: boolean;
74
- changelogPath: string;
75
- autoAgentsMd: boolean;
76
- autoSkillInstall: boolean;
77
- };
78
- export type MirrorCliOptions = {
79
- cwd?: string;
80
- config?: string;
81
- format?: MirrorFormat;
82
- noColor?: boolean;
83
- source?: MirrorAdapterName;
84
- output?: MirrorAdapterName[];
85
- packageFile?: string;
86
- jsrFile?: string;
87
- auxiliary?: string[];
88
- tagTemplate?: string;
89
- name?: string;
90
- preid?: string;
91
- dryRun?: boolean;
92
- commit?: boolean;
93
- push?: boolean;
94
- allowDirty?: boolean;
95
- nonInteractive?: boolean;
96
- yes?: boolean;
97
- verbose?: boolean;
98
- };
99
- export type MirrorInitAnswers = {
100
- source: MirrorAdapterName;
101
- output: MirrorAdapterName[];
102
- packagePath: string;
103
- auxiliaryPaths: string[];
104
- jsrPath: string;
105
- name?: string;
106
- prereleaseId: string;
107
- tagTemplate: string;
108
- commit: boolean;
109
- push: boolean;
110
- };
111
- export type MirrorInitFlags = Partial<{
112
- source: MirrorAdapterName;
113
- output: MirrorAdapterName[];
114
- packagePath: string;
115
- auxiliaryPaths: string[];
116
- jsrPath: string;
117
- name: string;
118
- prereleaseId: string;
119
- tagTemplate: string;
120
- commit: boolean;
121
- push: boolean;
122
- }>;
123
- export type MirrorInitPrompter = {
124
- text(question: string, defaultValue: string): Promise<string>;
125
- confirm(question: string, defaultValue: boolean): Promise<boolean>;
126
- close(): Promise<void> | void;
127
- };
128
- export type MirrorConfigDiscovery = {
129
- path?: string;
130
- raw?: MirrorRawConfig;
131
- };
132
- export type MirrorSkillInstallResult = {
133
- scope: MirrorSkillInstallScope;
134
- path: string;
135
- installed: boolean;
136
- updated: boolean;
137
- };
138
- export type MirrorAgentsInstructionsResult = {
139
- path: string;
140
- exists: boolean;
141
- changed: boolean;
142
- };
143
- export type MirrorAgentAutomationResult = {
144
- settings: MirrorAgentSettings;
145
- agentsMd?: MirrorAgentsInstructionsResult;
146
- localSkill?: MirrorSkillInstallResult;
147
- globalSkill?: MirrorSkillInstallResult;
148
- };
149
- export type MirrorProject = {
150
- name?: string;
151
- };
152
- export type MirrorVersionPlanAction = {
153
- type: 'write-file';
154
- adapter: 'package.json' | 'jsr.json';
155
- path: string;
156
- currentVersion: string;
157
- nextVersion: string;
158
- } | {
159
- type: 'git-commit';
160
- message: string;
161
- paths: string[];
162
- } | {
163
- type: 'git-tag';
164
- tag: string;
165
- } | {
166
- type: 'git-push';
167
- includeCommit: boolean;
168
- includeTags: boolean;
169
- };
170
- export type MirrorVersionPlan = {
171
- cwd: string;
172
- configPath?: string;
173
- source: MirrorAdapterName;
174
- output: MirrorAdapterName[];
175
- currentVersion: string;
176
- nextVersion: string;
177
- project: MirrorProject;
178
- commitEnabled: boolean;
179
- pushEnabled: boolean;
180
- allowDirty: boolean;
181
- fileOutputPaths: string[];
182
- gitTag?: string;
183
- actions: MirrorVersionPlanAction[];
184
- };
185
- export type MirrorExecutionResult = {
186
- plan: MirrorVersionPlan;
187
- applied: boolean;
188
- dryRun: boolean;
189
- };
190
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../source/types.ts"],"names":[],"mappings":"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"}
package/library/types.js DELETED
@@ -1,4 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2026 GUIHO Technologies as represented by Cristóvão GUIHO. All Rights Reserved.
3
- */
4
- export {};
@@ -1,10 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2026 GUIHO Technologies as represented by Cristóvão GUIHO. All Rights Reserved.
3
- */
4
- import type { ReleaseType } from 'semver';
5
- export declare const mirrorReleaseTargets: readonly ["major", "premajor", "minor", "preminor", "patch", "prepatch", "prerelease"];
6
- export declare const isMirrorReleaseTarget: (target: string) => target is ReleaseType;
7
- export declare const assertValidSemver: (version: string, label: string) => void;
8
- export declare const resolveNextVersion: (currentVersion: string, target: string, prereleaseId?: string) => string;
9
- export declare const sortSemverDescending: (versions: string[]) => string[];
10
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../source/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAGzC,eAAO,MAAM,oBAAoB,wFAQU,CAAA;AAE3C,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG,MAAM,IAAI,WACH,CAAA;AAE9D,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,SAE/D,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,MAAM,EAAE,QAAQ,MAAM,EAAE,qBAAiB,WAW3F,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,EAAE,aAAiC,CAAA"}
@@ -1,31 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2026 GUIHO Technologies as represented by Cristóvão GUIHO. All Rights Reserved.
3
- */
4
- import { inc, rcompare, valid as validSemver } from 'semver';
5
- import { MirrorError } from './errors.js';
6
- export const mirrorReleaseTargets = [
7
- 'major',
8
- 'premajor',
9
- 'minor',
10
- 'preminor',
11
- 'patch',
12
- 'prepatch',
13
- 'prerelease',
14
- ];
15
- export const isMirrorReleaseTarget = (target) => mirrorReleaseTargets.includes(target);
16
- export const assertValidSemver = (version, label) => {
17
- if (!validSemver(version))
18
- throw new MirrorError(`${label} is not a valid semantic version: ${version}`);
19
- };
20
- export const resolveNextVersion = (currentVersion, target, prereleaseId = '') => {
21
- assertValidSemver(currentVersion, 'Current version');
22
- if (validSemver(target))
23
- return target;
24
- if (!isMirrorReleaseTarget(target))
25
- throw new MirrorError(`Invalid version target: ${target}`);
26
- const nextVersion = prereleaseId ? inc(currentVersion, target, prereleaseId) : inc(currentVersion, target);
27
- if (!nextVersion)
28
- throw new MirrorError(`Failed to resolve next version from ${currentVersion} using ${target}`);
29
- return nextVersion;
30
- };
31
- export const sortSemverDescending = (versions) => [...versions].sort(rcompare);