@fractary/faber-cli 1.5.2 → 1.5.6
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/dist/index.js +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +29 -4
- package/dist/lib/github-app-auth.js +3 -3
- package/dist/lib/repo-client.d.ts +5 -15
- package/dist/lib/repo-client.d.ts.map +1 -1
- package/dist/lib/repo-client.js +31 -54
- package/dist/lib/sdk-config-adapter.d.ts.map +1 -1
- package/dist/lib/sdk-config-adapter.js +9 -13
- package/package.json +70 -72
package/dist/index.js
CHANGED
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAiB,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGpG;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO;IAIP;;;OAGG;WACU,IAAI,IAAI,OAAO,CAAC,WAAW,GAAG;QAAE,SAAS,CAAC,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAiB,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGpG;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO;IAIP;;;OAGG;WACU,IAAI,IAAI,OAAO,CAAC,WAAW,GAAG;QAAE,SAAS,CAAC,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IA8GlG;;;OAGG;mBACkB,cAAc;IAwBnC;;OAEG;mBACkB,8BAA8B;IAoBnD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyBnC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,WAAW,GAAG,GAAG;CAGjC"}
|
package/dist/lib/config.js
CHANGED
|
@@ -40,11 +40,36 @@ export class ConfigManager {
|
|
|
40
40
|
model: unifiedConfig.anthropic?.model,
|
|
41
41
|
max_tokens: unifiedConfig.anthropic?.max_tokens,
|
|
42
42
|
};
|
|
43
|
-
// Extract github config (from top level)
|
|
43
|
+
// Extract github config (from top level, with fallbacks to work/repo sections)
|
|
44
|
+
// Priority: github section > work.handlers.github > repo section > codex > parse from repo string
|
|
45
|
+
const anyConfig = unifiedConfig; // Allow access to plugin-specific sections
|
|
46
|
+
let organization = unifiedConfig.github?.organization
|
|
47
|
+
|| anyConfig.work?.handlers?.github?.owner
|
|
48
|
+
|| anyConfig.work?.github?.organization
|
|
49
|
+
|| anyConfig.repo?.organization
|
|
50
|
+
|| anyConfig.codex?.organization;
|
|
51
|
+
let project = unifiedConfig.github?.project
|
|
52
|
+
|| anyConfig.work?.handlers?.github?.repo
|
|
53
|
+
|| anyConfig.work?.github?.project
|
|
54
|
+
|| anyConfig.repo?.project
|
|
55
|
+
|| anyConfig.codex?.project;
|
|
56
|
+
// If still not found, try to parse from repo string (owner/repo format)
|
|
57
|
+
const repoString = unifiedConfig.github?.repo || anyConfig.repo?.repo;
|
|
58
|
+
if ((!organization || !project) && repoString) {
|
|
59
|
+
const repoParts = repoString.split('/');
|
|
60
|
+
if (repoParts.length === 2) {
|
|
61
|
+
organization = organization || repoParts[0];
|
|
62
|
+
project = project || repoParts[1];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Token fallback: env var > github section > work.handlers.github
|
|
66
|
+
const token = process.env.GITHUB_TOKEN
|
|
67
|
+
|| unifiedConfig.github?.token
|
|
68
|
+
|| anyConfig.work?.handlers?.github?.token;
|
|
44
69
|
let github = {
|
|
45
|
-
token
|
|
46
|
-
organization
|
|
47
|
-
project
|
|
70
|
+
token,
|
|
71
|
+
organization,
|
|
72
|
+
project,
|
|
48
73
|
repo: unifiedConfig.github?.repo,
|
|
49
74
|
app: unifiedConfig.github?.app,
|
|
50
75
|
};
|
|
@@ -62,7 +62,7 @@ export class PrivateKeyLoader {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
throw new Error('GitHub App private key not found. ' +
|
|
65
|
-
"Configure 'private_key_path' in .fractary/
|
|
65
|
+
"Configure 'private_key_path' in .fractary/config.yaml or set GITHUB_APP_PRIVATE_KEY env var");
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
68
|
* Validate private key format.
|
|
@@ -145,10 +145,10 @@ export class GitHubAppAuth {
|
|
|
145
145
|
async validate() {
|
|
146
146
|
// Validate required fields
|
|
147
147
|
if (!this.config.id) {
|
|
148
|
-
throw new Error("GitHub App ID is required. Configure 'app.id' in .fractary/
|
|
148
|
+
throw new Error("GitHub App ID is required. Configure 'app.id' in .fractary/config.yaml");
|
|
149
149
|
}
|
|
150
150
|
if (!this.config.installation_id) {
|
|
151
|
-
throw new Error("GitHub App Installation ID is required. Configure 'app.installation_id' in .fractary/
|
|
151
|
+
throw new Error("GitHub App Installation ID is required. Configure 'app.installation_id' in .fractary/config.yaml");
|
|
152
152
|
}
|
|
153
153
|
// Validate private key can be loaded
|
|
154
154
|
await PrivateKeyLoader.load(this.config);
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Repo Client
|
|
3
3
|
*
|
|
4
|
-
* Integrates with @fractary/core SDK for repository and work tracking operations
|
|
5
|
-
* Supports both PAT and GitHub App authentication methods.
|
|
4
|
+
* Integrates with @fractary/core SDK for repository and work tracking operations.
|
|
6
5
|
*/
|
|
7
|
-
import { WorkManager, RepoManager } from '@fractary/core';
|
|
8
6
|
import type { LoadedFaberConfig } from '../types/config.js';
|
|
9
7
|
interface Issue {
|
|
10
8
|
id: string;
|
|
@@ -34,10 +32,9 @@ interface IssueUpdateOptions {
|
|
|
34
32
|
* Repo Client - integrates with @fractary/core SDK
|
|
35
33
|
*
|
|
36
34
|
* Provides repository and work tracking operations using WorkManager and RepoManager
|
|
37
|
-
* from the @fractary/core SDK.
|
|
35
|
+
* from the @fractary/core SDK.
|
|
38
36
|
*/
|
|
39
37
|
export declare class RepoClient {
|
|
40
|
-
private config;
|
|
41
38
|
private workManager;
|
|
42
39
|
private repoManager;
|
|
43
40
|
private organization;
|
|
@@ -45,21 +42,14 @@ export declare class RepoClient {
|
|
|
45
42
|
/**
|
|
46
43
|
* Create a RepoClient instance (async factory method)
|
|
47
44
|
*
|
|
48
|
-
*
|
|
49
|
-
* both PAT and GitHub App authentication.
|
|
50
|
-
*
|
|
51
|
-
* @param config - FABER CLI configuration
|
|
45
|
+
* @param config - FABER CLI configuration with GitHub settings
|
|
52
46
|
* @returns Promise resolving to RepoClient instance
|
|
53
47
|
*/
|
|
54
48
|
static create(config: LoadedFaberConfig): Promise<RepoClient>;
|
|
55
49
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* @param config - FABER CLI configuration
|
|
59
|
-
* @param workManager - Optional pre-initialized WorkManager (for async factory)
|
|
60
|
-
* @param repoManager - Optional pre-initialized RepoManager (for async factory)
|
|
50
|
+
* Private constructor - use RepoClient.create() factory method
|
|
61
51
|
*/
|
|
62
|
-
constructor(
|
|
52
|
+
private constructor();
|
|
63
53
|
/**
|
|
64
54
|
* Fetch specific issues by ID
|
|
65
55
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-client.d.ts","sourceRoot":"","sources":["../../src/lib/repo-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"repo-client.d.ts","sourceRoot":"","sources":["../../src/lib/repo-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,kBAAkB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;OAKG;WACU,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyCnE;;OAEG;IACH,OAAO;IAYP;;;;OAIG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAclD;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAetD;;;;OAIG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IA+BzF;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAyB9D"}
|
package/dist/lib/repo-client.js
CHANGED
|
@@ -1,80 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Repo Client
|
|
3
3
|
*
|
|
4
|
-
* Integrates with @fractary/core SDK for repository and work tracking operations
|
|
5
|
-
* Supports both PAT and GitHub App authentication methods.
|
|
4
|
+
* Integrates with @fractary/core SDK for repository and work tracking operations.
|
|
6
5
|
*/
|
|
7
6
|
import { WorkManager, RepoManager } from '@fractary/core';
|
|
8
|
-
import { createWorkConfig, createRepoConfig, createWorkConfigAsync, createRepoConfigAsync, isGitHubAppConfigured, } from './sdk-config-adapter.js';
|
|
9
7
|
import { sdkIssueToCLIIssue, sdkWorktreeToCLIWorktreeResult } from './sdk-type-adapter.js';
|
|
10
8
|
import os from 'os';
|
|
11
9
|
/**
|
|
12
10
|
* Repo Client - integrates with @fractary/core SDK
|
|
13
11
|
*
|
|
14
12
|
* Provides repository and work tracking operations using WorkManager and RepoManager
|
|
15
|
-
* from the @fractary/core SDK.
|
|
13
|
+
* from the @fractary/core SDK.
|
|
16
14
|
*/
|
|
17
15
|
export class RepoClient {
|
|
18
16
|
/**
|
|
19
17
|
* Create a RepoClient instance (async factory method)
|
|
20
18
|
*
|
|
21
|
-
*
|
|
22
|
-
* both PAT and GitHub App authentication.
|
|
23
|
-
*
|
|
24
|
-
* @param config - FABER CLI configuration
|
|
19
|
+
* @param config - FABER CLI configuration with GitHub settings
|
|
25
20
|
* @returns Promise resolving to RepoClient instance
|
|
26
21
|
*/
|
|
27
22
|
static async create(config) {
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const repoManager = new RepoManager(repoConfig);
|
|
34
|
-
// Create client with pre-initialized managers
|
|
35
|
-
return new RepoClient(config, workManager, repoManager);
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
if (error instanceof Error) {
|
|
39
|
-
throw new Error(`Failed to initialize SDK managers: ${error.message}`);
|
|
40
|
-
}
|
|
41
|
-
throw error;
|
|
23
|
+
const organization = config.github?.organization;
|
|
24
|
+
const project = config.github?.project;
|
|
25
|
+
const token = config.github?.token || process.env.GITHUB_TOKEN;
|
|
26
|
+
if (!organization || !project) {
|
|
27
|
+
throw new Error('GitHub organization and project must be configured in .fractary/config.yaml');
|
|
42
28
|
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Create a RepoClient instance
|
|
46
|
-
*
|
|
47
|
-
* @param config - FABER CLI configuration
|
|
48
|
-
* @param workManager - Optional pre-initialized WorkManager (for async factory)
|
|
49
|
-
* @param repoManager - Optional pre-initialized RepoManager (for async factory)
|
|
50
|
-
*/
|
|
51
|
-
constructor(config, workManager, repoManager) {
|
|
52
|
-
this.config = config;
|
|
53
|
-
this.organization = config.github?.organization || 'unknown';
|
|
54
|
-
this.project = config.github?.project || 'unknown';
|
|
55
|
-
// If managers are provided (from static create), use them
|
|
56
|
-
if (workManager && repoManager) {
|
|
57
|
-
this.workManager = workManager;
|
|
58
|
-
this.repoManager = repoManager;
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
// Synchronous initialization - only works with PAT
|
|
62
|
-
if (isGitHubAppConfigured(config)) {
|
|
63
|
-
throw new Error('GitHub App authentication requires async initialization. ' +
|
|
64
|
-
'Use RepoClient.create() instead of new RepoClient().');
|
|
65
|
-
}
|
|
66
|
-
// Validate GitHub token for PAT auth
|
|
67
|
-
const token = config.github?.token;
|
|
68
29
|
if (!token) {
|
|
69
|
-
throw new Error('GitHub token not found. Set GITHUB_TOKEN environment variable.');
|
|
30
|
+
throw new Error('GitHub token not found. Set GITHUB_TOKEN environment variable or configure in .fractary/config.yaml');
|
|
70
31
|
}
|
|
71
|
-
// Create SDK configurations (PAT only)
|
|
72
|
-
const workConfig = createWorkConfig(config);
|
|
73
|
-
const repoConfig = createRepoConfig(config);
|
|
74
|
-
// Initialize SDK managers
|
|
75
32
|
try {
|
|
76
|
-
|
|
77
|
-
|
|
33
|
+
const workManager = new WorkManager({
|
|
34
|
+
platform: 'github',
|
|
35
|
+
owner: organization,
|
|
36
|
+
repo: project,
|
|
37
|
+
token,
|
|
38
|
+
});
|
|
39
|
+
const repoManager = new RepoManager({
|
|
40
|
+
platform: 'github',
|
|
41
|
+
owner: organization,
|
|
42
|
+
repo: project,
|
|
43
|
+
token,
|
|
44
|
+
});
|
|
45
|
+
return new RepoClient(workManager, repoManager, organization, project);
|
|
78
46
|
}
|
|
79
47
|
catch (error) {
|
|
80
48
|
if (error instanceof Error) {
|
|
@@ -83,6 +51,15 @@ export class RepoClient {
|
|
|
83
51
|
throw error;
|
|
84
52
|
}
|
|
85
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Private constructor - use RepoClient.create() factory method
|
|
56
|
+
*/
|
|
57
|
+
constructor(workManager, repoManager, organization, project) {
|
|
58
|
+
this.workManager = workManager;
|
|
59
|
+
this.repoManager = repoManager;
|
|
60
|
+
this.organization = organization;
|
|
61
|
+
this.project = project;
|
|
62
|
+
}
|
|
86
63
|
/**
|
|
87
64
|
* Fetch specific issues by ID
|
|
88
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-config-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/sdk-config-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAEL,aAAa,EAGd,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-config-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/sdk-config-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAEL,aAAa,EAGd,MAAM,sBAAsB,CAAC;AAuD9B;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,iBAAiB,GAAG,aAAa,CAEtF;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBtF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAG7E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,GAAG,UAAU,CAmC3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkB/F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,GAAG,UAAU,CAyB3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAY/F"}
|
|
@@ -42,16 +42,12 @@ function getTokenProvider(faberConfig) {
|
|
|
42
42
|
}
|
|
43
43
|
throw new Error('GitHub authentication not configured. Either:\n' +
|
|
44
44
|
' 1. Set GITHUB_TOKEN environment variable, or\n' +
|
|
45
|
-
' 2. Configure GitHub App in .fractary/
|
|
46
|
-
'
|
|
47
|
-
'
|
|
48
|
-
' "app"
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
' "private_key_path": "~/.github/your-app.pem"\n' +
|
|
52
|
-
' }\n' +
|
|
53
|
-
' }\n' +
|
|
54
|
-
' }');
|
|
45
|
+
' 2. Configure GitHub App in .fractary/config.yaml:\n' +
|
|
46
|
+
' github:\n' +
|
|
47
|
+
' app:\n' +
|
|
48
|
+
' id: "<app-id>"\n' +
|
|
49
|
+
' installation_id: "<installation-id>"\n' +
|
|
50
|
+
' private_key_path: "~/.github/your-app.pem"');
|
|
55
51
|
}
|
|
56
52
|
/**
|
|
57
53
|
* Get the current token from the provider
|
|
@@ -90,7 +86,7 @@ export async function validateGitHubAuth(faberConfig) {
|
|
|
90
86
|
}
|
|
91
87
|
// Validate PAT
|
|
92
88
|
if (!faberConfig.github?.token) {
|
|
93
|
-
throw new Error('GitHub token not found. Set GITHUB_TOKEN environment variable or configure in .fractary/
|
|
89
|
+
throw new Error('GitHub token not found. Set GITHUB_TOKEN environment variable or configure in .fractary/config.yaml');
|
|
94
90
|
}
|
|
95
91
|
}
|
|
96
92
|
/**
|
|
@@ -114,7 +110,7 @@ export function createWorkConfig(faberConfig) {
|
|
|
114
110
|
const owner = faberConfig.github?.organization;
|
|
115
111
|
const repo = faberConfig.github?.project;
|
|
116
112
|
if (!owner || !repo) {
|
|
117
|
-
throw new Error('GitHub organization and project must be configured in .fractary/
|
|
113
|
+
throw new Error('GitHub organization and project must be configured in .fractary/config.yaml');
|
|
118
114
|
}
|
|
119
115
|
// Get token provider (validates auth config)
|
|
120
116
|
const provider = getTokenProvider(faberConfig);
|
|
@@ -151,7 +147,7 @@ export async function createWorkConfigAsync(faberConfig) {
|
|
|
151
147
|
const owner = faberConfig.github?.organization;
|
|
152
148
|
const repo = faberConfig.github?.project;
|
|
153
149
|
if (!owner || !repo) {
|
|
154
|
-
throw new Error('GitHub organization and project must be configured in .fractary/
|
|
150
|
+
throw new Error('GitHub organization and project must be configured in .fractary/config.yaml');
|
|
155
151
|
}
|
|
156
152
|
const token = await getToken(faberConfig);
|
|
157
153
|
return {
|
package/package.json
CHANGED
|
@@ -1,72 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@fractary/faber-cli",
|
|
3
|
-
"version": "1.5.
|
|
4
|
-
"description": "FABER CLI - Command-line interface for FABER development toolkit",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"fractary-faber": "dist/index.js"
|
|
8
|
-
},
|
|
9
|
-
"type": "module",
|
|
10
|
-
"files": [
|
|
11
|
-
"dist",
|
|
12
|
-
"README.md",
|
|
13
|
-
"LICENSE"
|
|
14
|
-
],
|
|
15
|
-
"scripts": {
|
|
16
|
-
"dev": "tsc --watch",
|
|
17
|
-
"build": "tsc",
|
|
18
|
-
"test": "jest",
|
|
19
|
-
"test:watch": "jest --watch",
|
|
20
|
-
"lint": "eslint src --ext .ts",
|
|
21
|
-
"typecheck": "tsc --noEmit",
|
|
22
|
-
"prepublishOnly": "npm run build"
|
|
23
|
-
},
|
|
24
|
-
"keywords": [
|
|
25
|
-
"faber",
|
|
26
|
-
"cli",
|
|
27
|
-
"workflow",
|
|
28
|
-
"sdk",
|
|
29
|
-
"ai",
|
|
30
|
-
"development",
|
|
31
|
-
"automation"
|
|
32
|
-
],
|
|
33
|
-
"author": "Fractary Team",
|
|
34
|
-
"license": "MIT",
|
|
35
|
-
"publishConfig": {
|
|
36
|
-
"access": "public"
|
|
37
|
-
},
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"@fractary/core": "^0.
|
|
40
|
-
"@fractary/faber": "^2.1.2",
|
|
41
|
-
"ajv": "^8.12.0",
|
|
42
|
-
"chalk": "^5.0.0",
|
|
43
|
-
"commander": "^12.0.0",
|
|
44
|
-
"js-yaml": "^4.1.0"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"@types/
|
|
49
|
-
"@types/
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"homepage": "https://github.com/fractary/faber/tree/main/cli#readme"
|
|
72
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@fractary/faber-cli",
|
|
3
|
+
"version": "1.5.6",
|
|
4
|
+
"description": "FABER CLI - Command-line interface for FABER development toolkit",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"fractary-faber": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"type": "module",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md",
|
|
13
|
+
"LICENSE"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"dev": "tsc --watch",
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"test": "jest",
|
|
19
|
+
"test:watch": "jest --watch",
|
|
20
|
+
"lint": "eslint src --ext .ts",
|
|
21
|
+
"typecheck": "tsc --noEmit",
|
|
22
|
+
"prepublishOnly": "npm run build"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"faber",
|
|
26
|
+
"cli",
|
|
27
|
+
"workflow",
|
|
28
|
+
"sdk",
|
|
29
|
+
"ai",
|
|
30
|
+
"development",
|
|
31
|
+
"automation"
|
|
32
|
+
],
|
|
33
|
+
"author": "Fractary Team",
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@fractary/core": "^0.5.0",
|
|
40
|
+
"@fractary/faber": "^2.1.2",
|
|
41
|
+
"ajv": "^8.12.0",
|
|
42
|
+
"chalk": "^5.0.0",
|
|
43
|
+
"commander": "^12.0.0",
|
|
44
|
+
"js-yaml": "^4.1.0"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/jest": "^30.0.0",
|
|
48
|
+
"@types/js-yaml": "^4.0.9",
|
|
49
|
+
"@types/node": "^20.19.26",
|
|
50
|
+
"@typescript-eslint/eslint-plugin": "^6.19.0",
|
|
51
|
+
"@typescript-eslint/parser": "^6.19.0",
|
|
52
|
+
"eslint": "^8.56.0",
|
|
53
|
+
"jest": "^29.7.0",
|
|
54
|
+
"ts-jest": "^29.1.1",
|
|
55
|
+
"ts-node": "^10.9.2",
|
|
56
|
+
"typescript": "^5.3.3"
|
|
57
|
+
},
|
|
58
|
+
"engines": {
|
|
59
|
+
"node": ">=18.0.0"
|
|
60
|
+
},
|
|
61
|
+
"repository": {
|
|
62
|
+
"type": "git",
|
|
63
|
+
"url": "git+https://github.com/fractary/faber.git",
|
|
64
|
+
"directory": "cli"
|
|
65
|
+
},
|
|
66
|
+
"bugs": {
|
|
67
|
+
"url": "https://github.com/fractary/faber/issues"
|
|
68
|
+
},
|
|
69
|
+
"homepage": "https://github.com/fractary/faber/tree/main/cli#readme"
|
|
70
|
+
}
|