runwork 0.10.4 → 0.12.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.
- package/dist/agents/__tests__/claude-code-managed-block.test.d.ts +1 -0
- package/dist/agents/__tests__/claude-code-managed-block.test.js +97 -0
- package/dist/agents/__tests__/codex-minimum-permissions.test.d.ts +1 -0
- package/dist/agents/__tests__/codex-minimum-permissions.test.js +82 -0
- package/dist/agents/__tests__/cursor-merge.test.d.ts +1 -0
- package/dist/agents/__tests__/cursor-merge.test.js +66 -0
- package/dist/agents/__tests__/defaults-merge.test.d.ts +1 -0
- package/dist/agents/__tests__/defaults-merge.test.js +268 -0
- package/dist/agents/__tests__/intro-skill.test.js +32 -0
- package/dist/agents/claude-code.d.ts +5 -0
- package/dist/agents/claude-code.js +29 -0
- package/dist/agents/cursor.d.ts +23 -1
- package/dist/agents/cursor.js +42 -3
- package/dist/agents/default-config.d.ts +30 -0
- package/dist/agents/default-config.js +67 -0
- package/dist/agents/defaults-merge.d.ts +72 -0
- package/dist/agents/defaults-merge.js +131 -0
- package/dist/agents/intro-skill.d.ts +9 -0
- package/dist/agents/intro-skill.js +41 -0
- package/dist/agents/types.d.ts +31 -2
- package/dist/commands/__tests__/setup-persona.test.d.ts +1 -0
- package/dist/commands/__tests__/setup-persona.test.js +31 -0
- package/dist/commands/info.d.ts +1 -1
- package/dist/commands/info.js +7 -2
- package/dist/commands/setup.d.ts +7 -0
- package/dist/commands/setup.js +22 -0
- package/dist/commands/sync.js +147 -59
- package/dist/generated/bundled-types.js +33 -33
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/types.d.ts +36 -0
- package/dist/ui/banner.js +1 -1
- package/dist/utils/app-info.d.ts +4 -0
- package/dist/utils/app-info.js +17 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.12.0";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by scripts/embed-types.ts -- do not edit
|
|
2
|
-
export const VERSION = "0.
|
|
2
|
+
export const VERSION = "0.12.0";
|
package/dist/types.d.ts
CHANGED
|
@@ -23,6 +23,11 @@ export interface AppInfo {
|
|
|
23
23
|
workspaceId: string;
|
|
24
24
|
workspaceName: string;
|
|
25
25
|
gitRemoteUrl: string;
|
|
26
|
+
/** Production deployment state. Present on getApp responses. */
|
|
27
|
+
production?: {
|
|
28
|
+
url: string | null;
|
|
29
|
+
deployed: boolean;
|
|
30
|
+
};
|
|
26
31
|
}
|
|
27
32
|
export interface WorkspaceInfo {
|
|
28
33
|
id: string;
|
|
@@ -121,6 +126,25 @@ export interface McpServerConfig {
|
|
|
121
126
|
lastConnectedAt?: number;
|
|
122
127
|
toolCount?: number;
|
|
123
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Per-agent state tracking baked-in default permission rules that the CLI
|
|
131
|
+
* injects automatically during sync, with sticky opt-out semantics.
|
|
132
|
+
*
|
|
133
|
+
* lastInjected: what we wrote on the previous sync (used to detect when the
|
|
134
|
+
* user removed an entry from the agent's config file).
|
|
135
|
+
* userOptOuts: ever-accumulating set of entries the user has removed at least
|
|
136
|
+
* once. Never re-injected until the tool is removed entirely.
|
|
137
|
+
*/
|
|
138
|
+
export interface AgentDefaultsState {
|
|
139
|
+
lastInjected: {
|
|
140
|
+
allow?: string[];
|
|
141
|
+
deny?: string[];
|
|
142
|
+
};
|
|
143
|
+
userOptOuts: {
|
|
144
|
+
allow?: string[];
|
|
145
|
+
deny?: string[];
|
|
146
|
+
};
|
|
147
|
+
}
|
|
124
148
|
export interface SetupState {
|
|
125
149
|
workspaceId: string;
|
|
126
150
|
workspaceName: string;
|
|
@@ -147,6 +171,18 @@ export interface SetupState {
|
|
|
147
171
|
* on every cycle while still catching newly-installed agents within a day.
|
|
148
172
|
*/
|
|
149
173
|
lastDetectedAt?: string;
|
|
174
|
+
/** Schema version for agentDefaults; absence means bootstrap on next sync. */
|
|
175
|
+
agentDefaultsVersion?: number;
|
|
176
|
+
/** Per-agent slug => default rule state. Absence of an entry means bootstrap. */
|
|
177
|
+
agentDefaults?: Record<string, AgentDefaultsState>;
|
|
178
|
+
/**
|
|
179
|
+
* Technical-level classification from desktop onboarding. Used to inject
|
|
180
|
+
* persona-specific default instructions into integrated agents.
|
|
181
|
+
*/
|
|
182
|
+
persona?: {
|
|
183
|
+
level: 1 | 2 | 3;
|
|
184
|
+
label: 'novice' | 'curious' | 'engineer';
|
|
185
|
+
};
|
|
150
186
|
}
|
|
151
187
|
export interface WorkflowInfo {
|
|
152
188
|
name: string;
|
package/dist/ui/banner.js
CHANGED
|
@@ -10,9 +10,9 @@ function prettyPath(dir) {
|
|
|
10
10
|
return dir;
|
|
11
11
|
}
|
|
12
12
|
export const SUPPORTED_AGENTS = [
|
|
13
|
+
{ id: 'codex', name: 'OpenAI Codex', command: 'cd {dir} && codex' },
|
|
13
14
|
{ id: 'claude-code', name: 'Claude Code', command: 'cd {dir} && claude' },
|
|
14
15
|
{ id: 'cursor', name: 'Cursor', command: 'cursor {dir}' },
|
|
15
|
-
{ id: 'codex', name: 'OpenAI Codex', command: 'cd {dir} && codex' },
|
|
16
16
|
{ id: 'claude-desktop', name: 'Claude Desktop', command: 'Open Claude Desktop and add {dir} as a project folder' },
|
|
17
17
|
{ id: 'antigravity', name: 'Antigravity', command: 'cd {dir} && antigravity' },
|
|
18
18
|
];
|
package/dist/utils/app-info.d.ts
CHANGED
package/dist/utils/app-info.js
CHANGED
|
@@ -14,6 +14,16 @@ export async function fetchAppInfo(client, opts, serverData) {
|
|
|
14
14
|
catch {
|
|
15
15
|
// No active dev session
|
|
16
16
|
}
|
|
17
|
+
let production = { url: null, deployed: false };
|
|
18
|
+
try {
|
|
19
|
+
const app = await client.getApp(opts.appId);
|
|
20
|
+
if (app.production) {
|
|
21
|
+
production = app.production;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// App lookup failed; leave production unset
|
|
26
|
+
}
|
|
17
27
|
let registries = null;
|
|
18
28
|
const data = serverData !== undefined ? serverData : await fetchServerData(client, opts.workspaceId);
|
|
19
29
|
if (data) {
|
|
@@ -23,6 +33,7 @@ export async function fetchAppInfo(client, opts, serverData) {
|
|
|
23
33
|
app: { id: opts.appId, name: opts.appName, slug: opts.appSlug },
|
|
24
34
|
workspace: { id: opts.workspaceId, name: opts.workspaceName },
|
|
25
35
|
preview,
|
|
36
|
+
production,
|
|
26
37
|
dashboardUrl: `${opts.baseUrl}/chat/${opts.appId}`,
|
|
27
38
|
gitRemoteUrl: client.getGitRemoteUrl(opts.workspaceId, opts.appId),
|
|
28
39
|
registries,
|
|
@@ -82,6 +93,12 @@ export function printAppInfo(data) {
|
|
|
82
93
|
else {
|
|
83
94
|
console.log(` ${dim(pad('Preview:'))}${dim('(not running)')}`);
|
|
84
95
|
}
|
|
96
|
+
if (data.production.url) {
|
|
97
|
+
console.log(` ${dim(pad('Production:'))}${green(data.production.url)} ${dim('(deployed)')}`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
console.log(` ${dim(pad('Production:'))}${dim('(not deployed)')}`);
|
|
101
|
+
}
|
|
85
102
|
const reg = data.registries;
|
|
86
103
|
if (!reg) {
|
|
87
104
|
console.log('');
|
package/package.json
CHANGED