@pixelbyte-software/pixcode 1.42.3 → 1.42.4

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 (31) hide show
  1. package/dist/assets/{index-BnaWRV1a.js → index-cTGs3Dvx.js} +72 -72
  2. package/dist/index.html +1 -1
  3. package/dist-server/server/claude-sdk.js +23 -2
  4. package/dist-server/server/claude-sdk.js.map +1 -1
  5. package/dist-server/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.js.map +1 -1
  6. package/dist-server/server/modules/orchestration/a2a/adapters/claude-code.adapter.js +2 -0
  7. package/dist-server/server/modules/orchestration/a2a/adapters/claude-code.adapter.js.map +1 -1
  8. package/dist-server/server/modules/orchestration/a2a/routes.js +2 -0
  9. package/dist-server/server/modules/orchestration/a2a/routes.js.map +1 -1
  10. package/dist-server/server/modules/orchestration/index.js +1 -0
  11. package/dist-server/server/modules/orchestration/index.js.map +1 -1
  12. package/dist-server/server/modules/orchestration/security/permission-policy.js +269 -0
  13. package/dist-server/server/modules/orchestration/security/permission-policy.js.map +1 -0
  14. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js +115 -1
  15. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js.map +1 -1
  16. package/dist-server/server/modules/orchestration/workflows/workflow-trace.js +32 -0
  17. package/dist-server/server/modules/orchestration/workflows/workflow-trace.js.map +1 -1
  18. package/dist-server/server/modules/orchestration/workflows/workflow.routes.js +103 -0
  19. package/dist-server/server/modules/orchestration/workflows/workflow.routes.js.map +1 -1
  20. package/package.json +1 -1
  21. package/scripts/smoke/permission-policy.mjs +50 -0
  22. package/server/claude-sdk.js +24 -2
  23. package/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.ts +8 -0
  24. package/server/modules/orchestration/a2a/adapters/claude-code.adapter.ts +2 -0
  25. package/server/modules/orchestration/a2a/routes.ts +6 -0
  26. package/server/modules/orchestration/index.ts +18 -0
  27. package/server/modules/orchestration/security/permission-policy.ts +401 -0
  28. package/server/modules/orchestration/workflows/workflow-runner.ts +141 -1
  29. package/server/modules/orchestration/workflows/workflow-trace.ts +32 -0
  30. package/server/modules/orchestration/workflows/workflow.routes.ts +121 -0
  31. package/server/modules/orchestration/workflows/workflow.types.ts +9 -1
@@ -4,6 +4,7 @@ import { buildWorkflowReplayPlan, } from '../../../modules/orchestration/workflo
4
4
  import { workflowStore } from '../../../modules/orchestration/workflows/workflow-store.js';
5
5
  import { buildWorkflowTrace } from '../../../modules/orchestration/workflows/workflow-trace.js';
6
6
  import { findPixcodeAppRoot } from '../../../modules/orchestration/workflows/workspace-target.js';
7
+ import { DEFAULT_PERMISSION_POLICY, PERMISSION_CAPABILITIES, PERMISSION_POLICY_MODES, PIXCODE_PERMISSION_POLICY_PROTOCOL, evaluatePermissionRequest, normalizePermissionPolicy, } from '../../../modules/orchestration/security/permission-policy.js';
7
8
  const TERMINAL_RUN_STATES = new Set(['completed', 'failed', 'canceled']);
8
9
  function isWindowsLikeProjectId(projectId) {
9
10
  return /^[A-Za-z]--/.test(projectId) || /^[A-Za-z]:[\\/]/.test(projectId);
@@ -55,6 +56,32 @@ function replayOptions(req) {
55
56
  approveReplay: readBooleanFlag(req.body?.approveReplay ?? req.query.approveReplay),
56
57
  };
57
58
  }
59
+ function readRunArray(run, key) {
60
+ const value = run.metadata?.[key];
61
+ return Array.isArray(value)
62
+ ? value.filter((item) => Boolean(item && typeof item === 'object'))
63
+ : [];
64
+ }
65
+ function updateApproval(run, requestId, patch) {
66
+ const approvals = readRunArray(run, 'pendingPermissionApprovals');
67
+ let changed = false;
68
+ const nextApprovals = approvals.map((approval) => {
69
+ if (approval.id !== requestId)
70
+ return approval;
71
+ changed = true;
72
+ return {
73
+ ...approval,
74
+ ...patch,
75
+ };
76
+ });
77
+ if (!changed)
78
+ return false;
79
+ run.metadata = {
80
+ ...run.metadata,
81
+ pendingPermissionApprovals: nextApprovals,
82
+ };
83
+ return true;
84
+ }
58
85
  function sendRunSnapshot(res, runId) {
59
86
  const run = workflowStore.getRun(runId);
60
87
  if (!run) {
@@ -133,6 +160,82 @@ export function createWorkflowRouter() {
133
160
  trace: buildWorkflowTrace(run),
134
161
  });
135
162
  });
163
+ router.get('/workflows/permission-policy', (_req, res) => {
164
+ res.json({
165
+ protocol: PIXCODE_PERMISSION_POLICY_PROTOCOL,
166
+ capabilities: PERMISSION_CAPABILITIES,
167
+ modes: PERMISSION_POLICY_MODES,
168
+ defaultPolicy: DEFAULT_PERMISSION_POLICY,
169
+ });
170
+ });
171
+ router.post('/workflows/permission-policy/evaluate', (req, res) => {
172
+ try {
173
+ res.json({
174
+ decision: evaluatePermissionRequest({
175
+ policy: normalizePermissionPolicy(req.body?.policy),
176
+ request: req.body?.request ?? { source: 'api' },
177
+ }),
178
+ });
179
+ }
180
+ catch (error) {
181
+ res.status(400).json({
182
+ error: {
183
+ code: 'PERMISSION_POLICY_INVALID',
184
+ message: error instanceof Error ? error.message : String(error),
185
+ },
186
+ });
187
+ }
188
+ });
189
+ router.get('/workflows/runs/:runId/permission-approvals', (req, res) => {
190
+ const run = workflowStore.getRun(req.params.runId);
191
+ if (!run) {
192
+ res.status(404).json({ error: { code: 'RUN_NOT_FOUND', message: req.params.runId } });
193
+ return;
194
+ }
195
+ res.json({
196
+ runId: run.id,
197
+ pendingApprovals: readRunArray(run, 'pendingPermissionApprovals')
198
+ .filter((approval) => approval.status === 'pending'),
199
+ approvalHistory: readRunArray(run, 'pendingPermissionApprovals')
200
+ .filter((approval) => approval.status !== 'pending'),
201
+ });
202
+ });
203
+ router.post('/workflows/runs/:runId/permission-approvals/:requestId', (req, res) => {
204
+ const run = workflowStore.getRun(req.params.runId);
205
+ if (!run) {
206
+ res.status(404).json({ error: { code: 'RUN_NOT_FOUND', message: req.params.runId } });
207
+ return;
208
+ }
209
+ const allow = req.body?.allow === true;
210
+ const deny = req.body?.allow === false;
211
+ if (!allow && !deny) {
212
+ res.status(400).json({
213
+ error: {
214
+ code: 'PERMISSION_DECISION_REQUIRED',
215
+ message: 'Permission approval requires allow=true or allow=false.',
216
+ },
217
+ });
218
+ return;
219
+ }
220
+ const updated = updateApproval(run, req.params.requestId, {
221
+ status: allow ? 'allowed' : 'denied',
222
+ resolvedAt: Date.now(),
223
+ resolvedBy: readRequestUserId(req),
224
+ resolutionMessage: readOptionalString(req.body?.message),
225
+ });
226
+ if (!updated) {
227
+ res.status(404).json({ error: { code: 'APPROVAL_NOT_FOUND', message: req.params.requestId } });
228
+ return;
229
+ }
230
+ workflowStore.setRun(run);
231
+ res.json({
232
+ runId: run.id,
233
+ pendingApprovals: readRunArray(run, 'pendingPermissionApprovals')
234
+ .filter((approval) => approval.status === 'pending'),
235
+ approvalHistory: readRunArray(run, 'pendingPermissionApprovals')
236
+ .filter((approval) => approval.status !== 'pending'),
237
+ });
238
+ });
136
239
  router.get('/workflows/runs/:runId/replay-plan', (req, res) => {
137
240
  const run = workflowStore.getRun(req.params.runId);
138
241
  if (!run) {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.routes.js","sourceRoot":"","sources":["../../../../../server/modules/orchestration/workflows/workflow.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.routes.js","sourceRoot":"","sources":["../../../../../server/modules/orchestration/workflows/workflow.routes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelbyte-software/pixcode",
3
- "version": "1.42.3",
3
+ "version": "1.42.4",
4
4
  "description": "Self-hosted AI coding agent control room for Claude Code, Cursor CLI, OpenAI Codex, Gemini CLI, Qwen Code, and OpenCode with chat, files, shell, Git, orchestration, API keys, Telegram, MCP, plugins, themes, and desktop/server deployment.",
5
5
  "type": "module",
6
6
  "main": "dist-server/server/index.js",
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+
3
+ import assert from 'node:assert/strict';
4
+ import fs from 'node:fs';
5
+ import path from 'node:path';
6
+
7
+ const root = process.cwd();
8
+
9
+ function read(relativePath) {
10
+ return fs.readFileSync(path.join(root, relativePath), 'utf8');
11
+ }
12
+
13
+ const policy = read('server/modules/orchestration/security/permission-policy.ts');
14
+ assert.match(policy, /PIXCODE_PERMISSION_POLICY_PROTOCOL/, 'Permission policy should declare a stable protocol id.');
15
+ assert.match(policy, /pixcode\.permission-policy\.v1/, 'Permission policy should use the v1 protocol id.');
16
+ assert.match(policy, /shell/, 'Permission policy should classify shell access.');
17
+ assert.match(policy, /file_write/, 'Permission policy should classify file-write access.');
18
+ assert.match(policy, /external_directory/, 'Permission policy should classify external directory access.');
19
+ assert.match(policy, /network/, 'Permission policy should classify network access.');
20
+ assert.match(policy, /secret/, 'Permission policy should classify secret access.');
21
+ assert.match(policy, /evaluatePermissionRequest/, 'Permission policy should expose a shared evaluator.');
22
+ assert.match(policy, /createPermissionApprovalRequest/, 'Permission policy should create pending approval artifacts.');
23
+ assert.match(policy, /redactPermissionText/, 'Permission policy should redact local paths and secrets.');
24
+
25
+ const runner = read('server/modules/orchestration/workflows/workflow-runner.ts');
26
+ assert.match(runner, /evaluatePermissionRequest/, 'Workflow runner should route node preflight through the shared policy evaluator.');
27
+ assert.match(runner, /permissionPolicyEvents/, 'Workflow runner should store permission policy audit events.');
28
+ assert.match(runner, /pendingPermissionApprovals/, 'Workflow runner should preserve pending approval context on the run.');
29
+
30
+ const trace = read('server/modules/orchestration/workflows/workflow-trace.ts');
31
+ assert.match(trace, /workflow\.trace\.permissionPolicy/, 'Trace timeline should surface permission policy decisions.');
32
+ assert.match(trace, /permission_policy/, 'Trace events should include permission policy entries.');
33
+
34
+ const routes = read('server/modules/orchestration/workflows/workflow.routes.ts');
35
+ assert.match(routes, /permission-policy/, 'Workflow routes should expose the policy contract.');
36
+ assert.match(routes, /permission-approvals/, 'Workflow routes should expose pending approval context.');
37
+
38
+ const claude = read('server/claude-sdk.js');
39
+ assert.match(claude, /evaluatePermissionRequest/, 'Claude tool approvals should use the shared policy evaluator.');
40
+ assert.match(claude, /permissionPolicy/, 'Claude runtime should accept policy metadata.');
41
+
42
+ const a2aContext = read('server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.ts');
43
+ assert.match(a2aContext, /permissionPolicy/, 'A2A adapter context should carry the shared permission policy.');
44
+
45
+ const en = read('src/i18n/locales/en/common.json');
46
+ const tr = read('src/i18n/locales/tr/common.json');
47
+ assert.match(en, /"permission_policy"/, 'English trace type for permission policy is missing.');
48
+ assert.match(tr, /"permission_policy"/, 'Turkish trace type for permission policy is missing.');
49
+
50
+ console.log('permission-policy smoke passed');
@@ -29,6 +29,7 @@ import { sessionsService } from './modules/providers/services/sessions.service.j
29
29
  import { providerAuthService } from './modules/providers/services/provider-auth.service.js';
30
30
  import { resolveClaudeExecutable, resolveGitBashPath } from './services/install-jobs.js';
31
31
  import { createNormalizedMessage } from './shared/utils.js';
32
+ import { evaluatePermissionRequest } from './modules/orchestration/security/permission-policy.js';
32
33
 
33
34
  const activeSessions = new Map();
34
35
  const pendingToolApprovals = new Map();
@@ -184,7 +185,7 @@ function loadClaudeSettingsEnv(cwd) {
184
185
  * @returns {Object} SDK-compatible options
185
186
  */
186
187
  function mapCliOptionsToSDK(options = {}) {
187
- const { sessionId, cwd, toolsSettings, permissionMode } = options;
188
+ const { sessionId, cwd, toolsSettings, permissionMode, permissionPolicy, permissionPolicyContext } = options;
188
189
 
189
190
  const sdkOptions = {};
190
191
 
@@ -231,6 +232,8 @@ function mapCliOptionsToSDK(options = {}) {
231
232
  if (permissionMode && permissionMode !== 'default') {
232
233
  sdkOptions.permissionMode = permissionMode;
233
234
  }
235
+ sdkOptions.permissionPolicy = permissionPolicy;
236
+ sdkOptions.permissionPolicyContext = permissionPolicyContext;
234
237
 
235
238
  // Map tool settings
236
239
  const settings = toolsSettings || {
@@ -595,8 +598,27 @@ async function queryClaudeSDK(command, options = {}, ws) {
595
598
 
596
599
  sdkOptions.canUseTool = async (toolName, input, context) => {
597
600
  const requiresInteraction = TOOLS_REQUIRING_INTERACTION.has(toolName);
601
+ const policyDecision = evaluatePermissionRequest({
602
+ policy: sdkOptions.permissionPolicy,
603
+ request: {
604
+ source: 'provider_tool',
605
+ toolName,
606
+ input,
607
+ command: input && typeof input === 'object' && typeof input.command === 'string'
608
+ ? input.command
609
+ : undefined,
610
+ cwd: options.cwd,
611
+ workspacePath: options.cwd,
612
+ summary: `${toolName} tool request`,
613
+ },
614
+ context: sdkOptions.permissionPolicyContext,
615
+ });
616
+
617
+ if (policyDecision.behavior === 'deny') {
618
+ return { behavior: 'deny', message: policyDecision.message };
619
+ }
598
620
 
599
- if (!requiresInteraction) {
621
+ if (!requiresInteraction && policyDecision.behavior !== 'prompt') {
600
622
  if (sdkOptions.permissionMode === 'bypassPermissions') {
601
623
  return { behavior: 'allow', updatedInput: input };
602
624
  }
@@ -13,6 +13,10 @@ import type {
13
13
  TaskState,
14
14
  } from '@/modules/orchestration/a2a/types.js';
15
15
  import type { WorkspaceHandle } from '@/modules/orchestration/workspace/types.js';
16
+ import type {
17
+ PermissionPolicy,
18
+ PermissionPolicyContext,
19
+ } from '@/modules/orchestration/security/permission-policy.js';
16
20
 
17
21
  export interface AdapterContext {
18
22
  /** Isolated execution workspace for the task. */
@@ -21,6 +25,10 @@ export interface AdapterContext {
21
25
  cwd: string;
22
26
  /** pixcode permission mode passed through to the underlying CLI. */
23
27
  permissionMode?: string;
28
+ /** Provider-independent permission/sandbox policy evaluated before runtime tool use. */
29
+ permissionPolicy?: PermissionPolicy;
30
+ /** Run context preserved when the policy needs a human approval. */
31
+ permissionPolicyContext?: PermissionPolicyContext;
24
32
  /** Provider model selected by the user in Pixcode. */
25
33
  model?: string;
26
34
  /** Provider-specific tool / permission settings from Pixcode Settings. */
@@ -99,6 +99,8 @@ export class ClaudeCodeA2AAdapter extends AbstractA2AAdapter {
99
99
  {
100
100
  cwd: ctx.cwd,
101
101
  permissionMode: ctx.permissionMode ?? 'default',
102
+ permissionPolicy: ctx.permissionPolicy,
103
+ permissionPolicyContext: ctx.permissionPolicyContext,
102
104
  toolsSettings: ctx.toolsSettings,
103
105
  },
104
106
  fakeWS,
@@ -31,6 +31,10 @@ import type {
31
31
  WorkspaceMetadata,
32
32
  } from '@/modules/orchestration/workspace/types.js';
33
33
  import { WorkspaceError } from '@/modules/orchestration/workspace/types.js';
34
+ import type {
35
+ PermissionPolicy,
36
+ PermissionPolicyContext,
37
+ } from '@/modules/orchestration/security/permission-policy.js';
34
38
 
35
39
  type RoutingHints = {
36
40
  preferredAdapterId?: string;
@@ -475,6 +479,8 @@ export function createA2ARouter(): Router {
475
479
  workspace,
476
480
  model: readString(metadata?.model),
477
481
  permissionMode: readString(metadata?.permissionMode),
482
+ permissionPolicy: readObject(metadata?.permissionPolicy) as PermissionPolicy | undefined,
483
+ permissionPolicyContext: readObject(metadata?.permissionPolicyContext) as PermissionPolicyContext | undefined,
478
484
  toolsSettings: readObject(metadata?.toolsSettings),
479
485
  });
480
486
  } catch (err) {
@@ -19,6 +19,15 @@ export { AbstractA2AAdapter } from './a2a/adapters/abstract-a2a.adapter.js';
19
19
  export { a2aBus } from './a2a/bus.js';
20
20
  export { portWatcher } from './preview/port-watcher.js';
21
21
  export { createPreviewProxyRouter } from './preview/preview-proxy.js';
22
+ export {
23
+ DEFAULT_PERMISSION_POLICY,
24
+ PERMISSION_CAPABILITIES,
25
+ PERMISSION_POLICY_MODES,
26
+ PIXCODE_PERMISSION_POLICY_PROTOCOL,
27
+ evaluatePermissionRequest,
28
+ normalizePermissionPolicy,
29
+ resolvePermissionPolicyFromMetadata,
30
+ } from './security/permission-policy.js';
22
31
  export { createOrchestrationTaskRouter } from './tasks/orchestration-task.routes.js';
23
32
  export { orchestrationTaskService } from './tasks/orchestration-task.service.js';
24
33
  export { createWorkflowRouter } from './workflows/workflow.routes.js';
@@ -42,6 +51,15 @@ export type {
42
51
  PortEvent,
43
52
  PreviewArtifactData,
44
53
  } from './preview/types.js';
54
+ export type {
55
+ PermissionApprovalRequest,
56
+ PermissionCapability,
57
+ PermissionDecision,
58
+ PermissionPolicy,
59
+ PermissionPolicyContext,
60
+ PermissionPolicyEvent,
61
+ PermissionPolicyMode,
62
+ } from './security/permission-policy.js';
45
63
  export type {
46
64
  CreateOrchestrationTaskInput,
47
65
  DispatchOrchestrationTaskInput,