@agentuity/opencode 0.1.34 → 0.1.35
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG9D,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG9D,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AA6BD,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAsElF"}
|
|
@@ -5,6 +5,14 @@ const CLOUD_TOOL_PREFIXES = [
|
|
|
5
5
|
'agentuity.vector',
|
|
6
6
|
'agentuity.sandbox',
|
|
7
7
|
];
|
|
8
|
+
/**
|
|
9
|
+
* Get the Agentuity profile to use for CLI commands.
|
|
10
|
+
* Defaults to 'production' for safety, but can be overridden via AGENTUITY_CODER_PROFILE.
|
|
11
|
+
*/
|
|
12
|
+
function getCoderProfile() {
|
|
13
|
+
const profile = process.env.AGENTUITY_CODER_PROFILE?.trim();
|
|
14
|
+
return profile || 'production';
|
|
15
|
+
}
|
|
8
16
|
/** Cloud service detection for bash commands */
|
|
9
17
|
const CLOUD_SERVICES = {
|
|
10
18
|
'agentuity cloud kv': { name: 'KV Storage', emoji: '🗄️' },
|
|
@@ -50,6 +58,19 @@ export function createToolHooks(ctx, config) {
|
|
|
50
58
|
});
|
|
51
59
|
return;
|
|
52
60
|
}
|
|
61
|
+
// Inject AGENTUITY_PROFILE environment variable
|
|
62
|
+
const profile = getCoderProfile();
|
|
63
|
+
let modifiedCommand;
|
|
64
|
+
// Check if AGENTUITY_PROFILE already exists (anywhere in the command)
|
|
65
|
+
if (/AGENTUITY_PROFILE=\S+/.test(command)) {
|
|
66
|
+
// Replace all existing AGENTUITY_PROFILE occurrences to enforce our profile
|
|
67
|
+
modifiedCommand = command.replace(/AGENTUITY_PROFILE=\S+/g, `AGENTUITY_PROFILE=${profile}`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
// Prepend AGENTUITY_PROFILE
|
|
71
|
+
modifiedCommand = `AGENTUITY_PROFILE=${profile} ${command}`;
|
|
72
|
+
}
|
|
73
|
+
setBashCommand(input, modifiedCommand);
|
|
53
74
|
// Show toast for cloud service usage
|
|
54
75
|
const service = detectCloudService(command);
|
|
55
76
|
if (service) {
|
|
@@ -88,6 +109,25 @@ function extractBashCommand(input) {
|
|
|
88
109
|
}
|
|
89
110
|
return undefined;
|
|
90
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Set the bash command in the input object.
|
|
114
|
+
* Handles both direct command property and args.command structures.
|
|
115
|
+
*/
|
|
116
|
+
function setBashCommand(input, command) {
|
|
117
|
+
if (typeof input !== 'object' || input === null)
|
|
118
|
+
return;
|
|
119
|
+
const inp = input;
|
|
120
|
+
// Update the command in the same location it was found
|
|
121
|
+
if (typeof inp.command === 'string') {
|
|
122
|
+
inp.command = command;
|
|
123
|
+
}
|
|
124
|
+
else if (typeof inp.args === 'object' && inp.args !== null) {
|
|
125
|
+
const args = inp.args;
|
|
126
|
+
if (typeof args.command === 'string') {
|
|
127
|
+
args.command = command;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
91
131
|
function detectCloudService(command) {
|
|
92
132
|
for (const [pattern, service] of Object.entries(CLOUD_SERVICES)) {
|
|
93
133
|
if (command.includes(pattern)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/plugin/hooks/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/plugin/hooks/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/opencode",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.35",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"description": "Agentuity Open Code plugin with specialized AI coding agents",
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"prepublishOnly": "bun run clean && bun run build"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@agentuity/core": "0.1.
|
|
43
|
+
"@agentuity/core": "0.1.35",
|
|
44
44
|
"zod": "^4.3.5"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@agentuity/test-utils": "0.1.
|
|
47
|
+
"@agentuity/test-utils": "0.1.35",
|
|
48
48
|
"@types/bun": "latest",
|
|
49
49
|
"bun-types": "latest",
|
|
50
50
|
"typescript": "^5.9.0"
|
|
@@ -13,6 +13,15 @@ const CLOUD_TOOL_PREFIXES = [
|
|
|
13
13
|
'agentuity.sandbox',
|
|
14
14
|
];
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Get the Agentuity profile to use for CLI commands.
|
|
18
|
+
* Defaults to 'production' for safety, but can be overridden via AGENTUITY_CODER_PROFILE.
|
|
19
|
+
*/
|
|
20
|
+
function getCoderProfile(): string {
|
|
21
|
+
const profile = process.env.AGENTUITY_CODER_PROFILE?.trim();
|
|
22
|
+
return profile || 'production';
|
|
23
|
+
}
|
|
24
|
+
|
|
16
25
|
/** Cloud service detection for bash commands */
|
|
17
26
|
const CLOUD_SERVICES: Record<string, { name: string; emoji: string }> = {
|
|
18
27
|
'agentuity cloud kv': { name: 'KV Storage', emoji: '🗄️' },
|
|
@@ -63,6 +72,20 @@ export function createToolHooks(ctx: PluginContext, config: CoderConfig): ToolHo
|
|
|
63
72
|
return;
|
|
64
73
|
}
|
|
65
74
|
|
|
75
|
+
// Inject AGENTUITY_PROFILE environment variable
|
|
76
|
+
const profile = getCoderProfile();
|
|
77
|
+
let modifiedCommand: string;
|
|
78
|
+
|
|
79
|
+
// Check if AGENTUITY_PROFILE already exists (anywhere in the command)
|
|
80
|
+
if (/AGENTUITY_PROFILE=\S+/.test(command)) {
|
|
81
|
+
// Replace all existing AGENTUITY_PROFILE occurrences to enforce our profile
|
|
82
|
+
modifiedCommand = command.replace(/AGENTUITY_PROFILE=\S+/g, `AGENTUITY_PROFILE=${profile}`);
|
|
83
|
+
} else {
|
|
84
|
+
// Prepend AGENTUITY_PROFILE
|
|
85
|
+
modifiedCommand = `AGENTUITY_PROFILE=${profile} ${command}`;
|
|
86
|
+
}
|
|
87
|
+
setBashCommand(input, modifiedCommand);
|
|
88
|
+
|
|
66
89
|
// Show toast for cloud service usage
|
|
67
90
|
const service = detectCloudService(command);
|
|
68
91
|
if (service) {
|
|
@@ -103,6 +126,25 @@ function extractBashCommand(input: unknown): string | undefined {
|
|
|
103
126
|
return undefined;
|
|
104
127
|
}
|
|
105
128
|
|
|
129
|
+
/**
|
|
130
|
+
* Set the bash command in the input object.
|
|
131
|
+
* Handles both direct command property and args.command structures.
|
|
132
|
+
*/
|
|
133
|
+
function setBashCommand(input: unknown, command: string): void {
|
|
134
|
+
if (typeof input !== 'object' || input === null) return;
|
|
135
|
+
const inp = input as Record<string, unknown>;
|
|
136
|
+
|
|
137
|
+
// Update the command in the same location it was found
|
|
138
|
+
if (typeof inp.command === 'string') {
|
|
139
|
+
inp.command = command;
|
|
140
|
+
} else if (typeof inp.args === 'object' && inp.args !== null) {
|
|
141
|
+
const args = inp.args as Record<string, unknown>;
|
|
142
|
+
if (typeof args.command === 'string') {
|
|
143
|
+
args.command = command;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
106
148
|
function detectCloudService(command: string): { name: string; emoji: string } | null {
|
|
107
149
|
for (const [pattern, service] of Object.entries(CLOUD_SERVICES)) {
|
|
108
150
|
if (command.includes(pattern)) {
|