@gracefultools/astrid-sdk 0.1.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.
@@ -0,0 +1,143 @@
1
+ /**
2
+ * @gracefultools/astrid-sdk Type Definitions
3
+ */
4
+ export interface CodeGenerationRequest {
5
+ taskTitle: string;
6
+ taskDescription: string;
7
+ repositoryContext?: string;
8
+ existingFiles?: string[];
9
+ targetFramework?: string;
10
+ }
11
+ export interface GeneratedCode {
12
+ files: Array<{
13
+ path: string;
14
+ content: string;
15
+ action: 'create' | 'modify' | 'delete';
16
+ }>;
17
+ commitMessage: string;
18
+ prTitle: string;
19
+ prDescription: string;
20
+ }
21
+ export interface ImplementationPlan {
22
+ summary: string;
23
+ approach: string;
24
+ files: Array<{
25
+ path: string;
26
+ purpose: string;
27
+ changes: string;
28
+ /** Set during validation if file is too large for complete content */
29
+ requiresPartialContent?: boolean;
30
+ /** File size in bytes (set during validation) */
31
+ fileSize?: number;
32
+ /** Estimated line count (set during validation) */
33
+ estimatedLines?: number;
34
+ }>;
35
+ dependencies?: string[];
36
+ estimatedComplexity: 'simple' | 'medium' | 'complex';
37
+ considerations: string[];
38
+ /** Files explored during planning phase */
39
+ exploredFiles?: Array<{
40
+ path: string;
41
+ content: string;
42
+ relevance: string;
43
+ }>;
44
+ /** Analysis summary for implementation phase */
45
+ analysisNotes?: string;
46
+ }
47
+ export interface ExecutionResult {
48
+ success: boolean;
49
+ files: Array<{
50
+ path: string;
51
+ content: string;
52
+ action: 'create' | 'modify' | 'delete';
53
+ }>;
54
+ commitMessage: string;
55
+ prTitle: string;
56
+ prDescription: string;
57
+ error?: string;
58
+ usage?: {
59
+ inputTokens: number;
60
+ outputTokens: number;
61
+ costUSD: number;
62
+ };
63
+ }
64
+ export interface PlanningResult {
65
+ success: boolean;
66
+ plan?: ImplementationPlan;
67
+ error?: string;
68
+ usage?: {
69
+ inputTokens: number;
70
+ outputTokens: number;
71
+ costUSD: number;
72
+ };
73
+ }
74
+ export type AIService = 'claude' | 'openai' | 'gemini';
75
+ export interface AIAgentConfig {
76
+ /** The AI service provider */
77
+ service: AIService;
78
+ /** Default model to use */
79
+ model: string;
80
+ /** Display name for UI */
81
+ displayName: string;
82
+ /** Agent type stored in database */
83
+ agentType: string;
84
+ /** Context file to load from repository */
85
+ contextFile: string;
86
+ /** Agent capabilities */
87
+ capabilities: readonly string[];
88
+ }
89
+ export type LogLevel = 'info' | 'warn' | 'error';
90
+ export type Logger = (level: LogLevel, message: string, meta?: Record<string, unknown>) => void;
91
+ export type ProgressCallback = (message: string) => void;
92
+ export interface AstridTask {
93
+ id: string;
94
+ title: string;
95
+ description: string | null;
96
+ priority: number;
97
+ completed: boolean;
98
+ dueDateTime?: string;
99
+ createdAt: string;
100
+ updatedAt: string;
101
+ assigneeId?: string;
102
+ assigneeEmail?: string;
103
+ lists?: Array<{
104
+ id: string;
105
+ name: string;
106
+ githubRepositoryId?: string;
107
+ }>;
108
+ comments?: Array<{
109
+ id: string;
110
+ content: string;
111
+ authorId: string;
112
+ authorEmail?: string;
113
+ createdAt: string;
114
+ }>;
115
+ }
116
+ export interface AstridList {
117
+ id: string;
118
+ name: string;
119
+ description?: string;
120
+ githubRepositoryId?: string;
121
+ }
122
+ /** Context from previous attempts on the same task */
123
+ export interface PreviousTaskContext {
124
+ hasBeenProcessedBefore: boolean;
125
+ previousAttempts: Array<{
126
+ planSummary?: string;
127
+ filesModified?: string[];
128
+ prUrl?: string;
129
+ outcome?: string;
130
+ }>;
131
+ userFeedback: Array<{
132
+ content: string;
133
+ timestamp: string;
134
+ }>;
135
+ systemUnderstanding: string;
136
+ }
137
+ /** Repository context cache entry */
138
+ export interface RepositoryContextCache {
139
+ context: string;
140
+ structure: string;
141
+ timestamp: number;
142
+ }
143
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * @gracefultools/astrid-sdk Type Definitions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * AI Agent Configuration
3
+ *
4
+ * Centralized configuration for AI agent routing.
5
+ * Maps agent emails to their AI service providers.
6
+ */
7
+ import type { AIService, AIAgentConfig } from '../types/index.js';
8
+ export type { AIService, AIAgentConfig };
9
+ /**
10
+ * Suggested models for each AI service
11
+ * Users can enter any model name, but these are shown as suggestions
12
+ */
13
+ export declare const SUGGESTED_MODELS: Record<AIService, string[]>;
14
+ /**
15
+ * Default models for each service (first in the suggestions list)
16
+ */
17
+ export declare const DEFAULT_MODELS: Record<AIService, string>;
18
+ /**
19
+ * AI Agent Registry
20
+ *
21
+ * Maps agent emails to their configuration.
22
+ * All cloud agents load ASTRID.md as their context file.
23
+ */
24
+ export declare const AI_AGENT_CONFIG: Record<string, AIAgentConfig>;
25
+ /**
26
+ * Get agent configuration by email
27
+ */
28
+ export declare function getAgentConfig(email: string): AIAgentConfig | null;
29
+ /**
30
+ * Get AI service for an agent email
31
+ * Returns 'claude' as default if email not found
32
+ */
33
+ export declare function getAgentService(email: string): AIService;
34
+ /**
35
+ * Get the model for an agent email
36
+ */
37
+ export declare function getAgentModel(email: string): string;
38
+ /**
39
+ * Get the context file for an agent
40
+ */
41
+ export declare function getAgentContextFile(email: string): string;
42
+ /**
43
+ * Check if an email is a registered AI agent
44
+ */
45
+ export declare function isRegisteredAgent(email: string): boolean;
46
+ /**
47
+ * Get all registered agent emails
48
+ */
49
+ export declare function getRegisteredAgentEmails(): string[];
50
+ /**
51
+ * Get all agent configs as an array
52
+ */
53
+ export declare function getAllAgentConfigs(): Array<AIAgentConfig & {
54
+ email: string;
55
+ }>;
56
+ //# sourceMappingURL=agent-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../src/utils/agent-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGjE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;AAExC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAiBxD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAIpD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAyBhD,CAAA;AAEV;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAElE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAExD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAK7E"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * AI Agent Configuration
4
+ *
5
+ * Centralized configuration for AI agent routing.
6
+ * Maps agent emails to their AI service providers.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AI_AGENT_CONFIG = exports.DEFAULT_MODELS = exports.SUGGESTED_MODELS = void 0;
10
+ exports.getAgentConfig = getAgentConfig;
11
+ exports.getAgentService = getAgentService;
12
+ exports.getAgentModel = getAgentModel;
13
+ exports.getAgentContextFile = getAgentContextFile;
14
+ exports.isRegisteredAgent = isRegisteredAgent;
15
+ exports.getRegisteredAgentEmails = getRegisteredAgentEmails;
16
+ exports.getAllAgentConfigs = getAllAgentConfigs;
17
+ /**
18
+ * Suggested models for each AI service
19
+ * Users can enter any model name, but these are shown as suggestions
20
+ */
21
+ exports.SUGGESTED_MODELS = {
22
+ claude: [
23
+ 'claude-sonnet-4-20250514',
24
+ 'claude-opus-4-20250514',
25
+ 'claude-3-5-sonnet-20241022',
26
+ ],
27
+ openai: [
28
+ 'gpt-5.2',
29
+ 'gpt-5.1-codex-max',
30
+ 'gpt-4.1',
31
+ 'gpt-4o',
32
+ ],
33
+ gemini: [
34
+ 'gemini-3-flash-preview',
35
+ 'gemini-2.5-flash',
36
+ 'gemini-2.0-flash',
37
+ ],
38
+ };
39
+ /**
40
+ * Default models for each service (first in the suggestions list)
41
+ */
42
+ exports.DEFAULT_MODELS = {
43
+ claude: 'claude-sonnet-4-20250514',
44
+ openai: 'gpt-5.2',
45
+ gemini: 'gemini-3-flash-preview',
46
+ };
47
+ /**
48
+ * AI Agent Registry
49
+ *
50
+ * Maps agent emails to their configuration.
51
+ * All cloud agents load ASTRID.md as their context file.
52
+ */
53
+ exports.AI_AGENT_CONFIG = {
54
+ 'claude@astrid.cc': {
55
+ service: 'claude',
56
+ model: 'claude-sonnet-4-20250514',
57
+ displayName: 'Claude AI Agent',
58
+ agentType: 'claude_agent',
59
+ contextFile: 'ASTRID.md',
60
+ capabilities: ['code_generation', 'code_review', 'planning', 'github_operations'],
61
+ },
62
+ 'openai-codex@astrid.cc': {
63
+ service: 'openai',
64
+ model: 'gpt-5.2',
65
+ displayName: 'OpenAI Codex Agent',
66
+ agentType: 'openai_agent',
67
+ contextFile: 'ASTRID.md',
68
+ capabilities: ['code_generation', 'code_review', 'planning', 'github_operations'],
69
+ },
70
+ 'gemini@astrid.cc': {
71
+ service: 'gemini',
72
+ model: 'gemini-3-flash-preview',
73
+ displayName: 'Gemini AI Agent',
74
+ agentType: 'gemini_agent',
75
+ contextFile: 'ASTRID.md',
76
+ capabilities: ['code_generation', 'code_review', 'planning', 'github_operations'],
77
+ },
78
+ };
79
+ /**
80
+ * Get agent configuration by email
81
+ */
82
+ function getAgentConfig(email) {
83
+ return exports.AI_AGENT_CONFIG[email] || null;
84
+ }
85
+ /**
86
+ * Get AI service for an agent email
87
+ * Returns 'claude' as default if email not found
88
+ */
89
+ function getAgentService(email) {
90
+ return exports.AI_AGENT_CONFIG[email]?.service || 'claude';
91
+ }
92
+ /**
93
+ * Get the model for an agent email
94
+ */
95
+ function getAgentModel(email) {
96
+ return exports.AI_AGENT_CONFIG[email]?.model || 'claude-sonnet-4-20250514';
97
+ }
98
+ /**
99
+ * Get the context file for an agent
100
+ */
101
+ function getAgentContextFile(email) {
102
+ return exports.AI_AGENT_CONFIG[email]?.contextFile || 'ASTRID.md';
103
+ }
104
+ /**
105
+ * Check if an email is a registered AI agent
106
+ */
107
+ function isRegisteredAgent(email) {
108
+ return email in exports.AI_AGENT_CONFIG;
109
+ }
110
+ /**
111
+ * Get all registered agent emails
112
+ */
113
+ function getRegisteredAgentEmails() {
114
+ return Object.keys(exports.AI_AGENT_CONFIG);
115
+ }
116
+ /**
117
+ * Get all agent configs as an array
118
+ */
119
+ function getAllAgentConfigs() {
120
+ return Object.entries(exports.AI_AGENT_CONFIG).map(([email, config]) => ({
121
+ email,
122
+ ...config,
123
+ }));
124
+ }
125
+ //# sourceMappingURL=agent-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../../src/utils/agent-config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA2EH,wCAEC;AAMD,0CAEC;AAKD,sCAEC;AAKD,kDAEC;AAKD,8CAEC;AAKD,4DAEC;AAKD,gDAKC;AApHD;;;GAGG;AACU,QAAA,gBAAgB,GAAgC;IAC3D,MAAM,EAAE;QACN,0BAA0B;QAC1B,wBAAwB;QACxB,4BAA4B;KAC7B;IACD,MAAM,EAAE;QACN,SAAS;QACT,mBAAmB;QACnB,SAAS;QACT,QAAQ;KACT;IACD,MAAM,EAAE;QACN,wBAAwB;QACxB,kBAAkB;QAClB,kBAAkB;KACnB;CACF,CAAA;AAED;;GAEG;AACU,QAAA,cAAc,GAA8B;IACvD,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,wBAAwB;CACjC,CAAA;AAED;;;;;GAKG;AACU,QAAA,eAAe,GAAkC;IAC5D,kBAAkB,EAAE;QAClB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,CAAC;KAClF;IACD,wBAAwB,EAAE;QACxB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,CAAC;KAClF;IACD,kBAAkB,EAAE;QAClB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,CAAC;KAClF;CACO,CAAA;AAEV;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,uBAAe,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;AACvC,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,uBAAe,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI,QAAQ,CAAA;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,uBAAe,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,0BAA0B,CAAA;AACpE,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,OAAO,uBAAe,CAAC,KAAK,CAAC,EAAE,WAAW,IAAI,WAAW,CAAA;AAC3D,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,IAAI,uBAAe,CAAA;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAe,CAAC,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,uBAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,KAAK;QACL,GAAG,MAAM;KACV,CAAC,CAAC,CAAA;AACL,CAAC"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@gracefultools/astrid-sdk",
3
+ "version": "0.1.0",
4
+ "description": "AI agent SDK for automated coding tasks with Claude, OpenAI, and Gemini",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "astrid-agent": "./dist/bin/cli.js"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js",
14
+ "require": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc",
23
+ "dev": "tsc --watch",
24
+ "clean": "rm -rf dist",
25
+ "prepublishOnly": "npm run clean && npm run build",
26
+ "test": "echo \"No tests yet\" && exit 0"
27
+ },
28
+ "keywords": [
29
+ "ai",
30
+ "agent",
31
+ "claude",
32
+ "openai",
33
+ "gemini",
34
+ "coding",
35
+ "automation",
36
+ "astrid"
37
+ ],
38
+ "author": "Astrid",
39
+ "license": "MIT",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "https://github.com/Graceful-Tools/astrid-res-www.git",
43
+ "directory": "packages/astrid-sdk"
44
+ },
45
+ "homepage": "https://astrid.cc",
46
+ "engines": {
47
+ "node": ">=18.0.0"
48
+ },
49
+ "dependencies": {
50
+ "@anthropic-ai/claude-agent-sdk": "^0.1.0",
51
+ "dotenv": "^16.3.1",
52
+ "glob": "^10.3.10"
53
+ },
54
+ "peerDependencies": {
55
+ "typescript": ">=5.0.0"
56
+ },
57
+ "peerDependenciesMeta": {
58
+ "typescript": {
59
+ "optional": true
60
+ }
61
+ },
62
+ "publishConfig": {
63
+ "access": "public"
64
+ }
65
+ }