pi-fabric 0.25.2 → 0.25.3

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,11 +1,18 @@
1
1
  import { type ExtensionContext } from "@earendil-works/pi-coding-agent";
2
2
  import type { FabricApprovalConfig } from "../config.js";
3
+ import type { FabricRisk } from "../protocol.js";
3
4
  import type { ResolvedFabricAction } from "./action-registry.js";
5
+ export declare class FabricSessionApprovals {
6
+ #private;
7
+ readonly approvedRisks: Set<FabricRisk>;
8
+ serialize<T>(request: () => Promise<T>): Promise<T>;
9
+ }
4
10
  export declare class ApprovalController {
5
11
  #private;
6
12
  readonly config: FabricApprovalConfig;
7
13
  readonly context: ExtensionContext;
8
- constructor(config: FabricApprovalConfig, context: ExtensionContext);
14
+ readonly sessionApprovals: FabricSessionApprovals;
15
+ constructor(config: FabricApprovalConfig, context: ExtensionContext, sessionApprovals?: FabricSessionApprovals);
9
16
  approve(action: ResolvedFabricAction): Promise<void>;
10
17
  }
11
18
  //# sourceMappingURL=approval-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-controller.d.ts","sourceRoot":"","sources":["../../src/core/approval-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAajE,qBAAa,kBAAkB;;IAK3B,QAAQ,CAAC,MAAM,EAAE,oBAAoB;IACrC,QAAQ,CAAC,OAAO,EAAE,gBAAgB;gBADzB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,gBAAgB;IAG9B,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CA2G3D"}
1
+ {"version":3,"file":"approval-controller.d.ts","sourceRoot":"","sources":["../../src/core/approval-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAejE,qBAAa,sBAAsB;;IACjC,QAAQ,CAAC,aAAa,kBAAyB;IAGzC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAa1D;AAED,qBAAa,kBAAkB;;IAI3B,QAAQ,CAAC,MAAM,EAAE,oBAAoB;IACrC,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAClC,QAAQ,CAAC,gBAAgB;gBAFhB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,yBAA+B;IAGpD,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsH3D"}
@@ -6,34 +6,50 @@ const inheritedRisks = () => {
6
6
  .split(",")
7
7
  .filter((risk) => allowed.has(risk));
8
8
  };
9
- const allowLabel = (risk) => `Allow ${risk} access`;
9
+ const onceLabel = "Allow once";
10
+ const sessionLabel = (risk) => `Allow ${risk} access for this session`;
11
+ export class FabricSessionApprovals {
12
+ approvedRisks = new Set();
13
+ #tail = Promise.resolve();
14
+ async serialize(request) {
15
+ const previous = this.#tail;
16
+ let release;
17
+ this.#tail = new Promise((resolve) => {
18
+ release = resolve;
19
+ });
20
+ await previous;
21
+ try {
22
+ return await request();
23
+ }
24
+ finally {
25
+ release?.();
26
+ }
27
+ }
28
+ }
10
29
  export class ApprovalController {
11
30
  config;
12
31
  context;
13
- #approvedRisks = new Set(inheritedRisks());
14
- #pendingApprovals = new Map();
15
- constructor(config, context) {
32
+ sessionApprovals;
33
+ #inheritedRisks = new Set(inheritedRisks());
34
+ constructor(config, context, sessionApprovals = new FabricSessionApprovals()) {
16
35
  this.config = config;
17
36
  this.context = context;
37
+ this.sessionApprovals = sessionApprovals;
18
38
  }
19
39
  async approve(action) {
20
40
  const mode = this.config[action.risk];
21
- if (mode === "allow" || this.#approvedRisks.has(action.risk))
41
+ if (mode === "allow" ||
42
+ this.#inheritedRisks.has(action.risk) ||
43
+ this.sessionApprovals.approvedRisks.has(action.risk))
22
44
  return;
23
45
  if (mode === "deny") {
24
46
  throw new Error(`${action.ref} is denied by the Fabric ${action.risk} policy`);
25
47
  }
26
- const pending = this.#pendingApprovals.get(action.risk);
27
- if (pending)
28
- return pending;
29
- const approval = this.#requestApproval(action);
30
- this.#pendingApprovals.set(action.risk, approval);
31
- try {
32
- await approval;
33
- }
34
- finally {
35
- this.#pendingApprovals.delete(action.risk);
36
- }
48
+ await this.sessionApprovals.serialize(async () => {
49
+ if (this.sessionApprovals.approvedRisks.has(action.risk))
50
+ return;
51
+ await this.#requestApproval(action);
52
+ });
37
53
  }
38
54
  async #requestApproval(action) {
39
55
  if (!this.context.hasUI) {
@@ -44,17 +60,25 @@ export class ApprovalController {
44
60
  const choice = this.context.mode === "tui"
45
61
  ? await this.#requestTuiApproval(action)
46
62
  : await this.#requestDialogApproval(action);
47
- if (choice !== "allow") {
63
+ if (choice === "deny") {
48
64
  this.context.ui.notify(`Denied ${action.risk} access for ${action.ref}`, "warning");
49
65
  throw new Error(`User denied ${action.risk} access for ${action.ref}`);
50
66
  }
51
- this.#approvedRisks.add(action.risk);
52
- this.context.ui.notify(`Allowed ${action.risk} access for the current Fabric execution`, "info");
67
+ if (choice === "allow-session") {
68
+ this.sessionApprovals.approvedRisks.add(action.risk);
69
+ this.context.ui.notify(`Allowed ${action.risk} access for this Pi session`, "info");
70
+ return;
71
+ }
72
+ this.context.ui.notify(`Allowed once: ${action.ref}`, "info");
53
73
  }
54
74
  async #requestDialogApproval(action) {
55
- const allowed = allowLabel(action.risk);
56
- const picked = await this.context.ui.select(`Pi Fabric permission · ${action.ref} requests ${action.risk} access. ${action.description}`, [allowed, "Deny"]);
57
- return picked === allowed ? "allow" : "deny";
75
+ const session = sessionLabel(action.risk);
76
+ const picked = await this.context.ui.select(`Pi Fabric permission · ${action.ref} requests ${action.risk} access. ${action.description}`, [onceLabel, session, "Deny"]);
77
+ if (picked === onceLabel)
78
+ return "allow-once";
79
+ if (picked === session)
80
+ return "allow-session";
81
+ return "deny";
58
82
  }
59
83
  async #requestTuiApproval(action) {
60
84
  const choice = await this.context.ui.custom((tui, theme, _keybindings, done) => {
@@ -66,13 +90,18 @@ export class ApprovalController {
66
90
  container.addChild(new Text(theme.fg("text", `${action.ref} requests ${action.risk} access.`), 1, 0));
67
91
  container.addChild(new Text(theme.fg("muted", action.description), 1, 0));
68
92
  container.addChild(new Spacer(1));
69
- container.addChild(new Text(theme.fg("dim", "Approval applies to this risk class for the current Fabric execution."), 1, 0));
93
+ container.addChild(new Text(theme.fg("dim", "Choose whether to allow only this call or this risk class for the session."), 1, 0));
70
94
  container.addChild(new Spacer(1));
71
95
  const items = [
72
96
  {
73
- value: "allow",
74
- label: allowLabel(action.risk),
75
- description: "Continue this Fabric execution",
97
+ value: "allow-once",
98
+ label: onceLabel,
99
+ description: "Run only this requested action",
100
+ },
101
+ {
102
+ value: "allow-session",
103
+ label: sessionLabel(action.risk),
104
+ description: "Do not ask again for this risk class until the Pi session ends",
76
105
  },
77
106
  {
78
107
  value: "deny",
@@ -1 +1 @@
1
- {"version":3,"file":"approval-controller.js","sourceRoot":"","sources":["../../src/core/approval-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval-controller.js","sourceRoot":"","sources":["../../src/core/approval-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,GAEnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,SAAS,EACT,UAAU,EACV,MAAM,EACN,IAAI,GAEL,MAAM,wBAAwB,CAAC;AAKhC,MAAM,cAAc,GAAG,GAAiB,EAAE;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAa,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC;SAC/C,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAkB,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAIF,MAAM,SAAS,GAAG,YAAY,CAAC;AAC/B,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAU,EAAE,CAChD,SAAS,IAAI,0BAA0B,CAAC;AAE1C,MAAM,OAAO,sBAAsB;IACxB,aAAa,GAAG,IAAI,GAAG,EAAc,CAAC;IAC/C,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEzC,KAAK,CAAC,SAAS,CAAI,OAAyB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,OAAiC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACzC,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,EAAE,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAIlB;IACA;IACA;IALF,eAAe,GAAG,IAAI,GAAG,CAAa,cAAc,EAAE,CAAC,CAAC;IAEjE,YACW,MAA4B,EAC5B,OAAyB,EACzB,mBAAmB,IAAI,sBAAsB,EAAE;QAF/C,WAAM,GAAN,MAAM,CAAsB;QAC5B,YAAO,GAAP,OAAO,CAAkB;QACzB,qBAAgB,GAAhB,gBAAgB,CAA+B;IACvD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,MAA4B;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IACE,IAAI,KAAK,OAAO;YAChB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YACpD,OAAO;QACT,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,4BAA4B,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC/C,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO;YACjE,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAA4B;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,wDAAwD,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,YAAY,GAAG,gCAAgC,MAAM,CAAC,GAAG,UAAU,MAAM,CAAC,IAAI,SAAS,CAAC;QAC9F,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;YACxC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,IAAI,eAAe,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,eAAe,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CACpB,WAAW,MAAM,CAAC,IAAI,6BAA6B,EACnD,MAAM,CACP,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAA4B;QACvD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CACzC,0BAA0B,MAAM,CAAC,GAAG,aAAa,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,WAAW,EAAE,EAC5F,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAC7B,CAAC;QACF,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,YAAY,CAAC;QAC9C,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,eAAe,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAA4B;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;YAC7F,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;YAClC,SAAS,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACnF,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,QAAQ,CAChB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACpF,CAAC;YACF,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,QAAQ,CAChB,IAAI,IAAI,CACN,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,aAAa,MAAM,CAAC,IAAI,UAAU,CAAC,EACjE,CAAC,EACD,CAAC,CACF,CACF,CAAC;YACF,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1E,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,QAAQ,CAChB,IAAI,IAAI,CACN,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,4EAA4E,CAAC,EAC7F,CAAC,EACD,CAAC,CACF,CACF,CAAC;YACF,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,KAAK,GAAiB;gBAC1B;oBACE,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,gCAAgC;iBAC9C;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;oBAChC,WAAW,EAAE,gEAAgE;iBAC9E;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,MAAM;oBACb,WAAW,EAAE,4BAA4B;iBAC1C;aACF,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAuB,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,QAAQ,CAChB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,uCAAuC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACzE,CAAC;YACF,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACnF,OAAO;gBACL,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;gBAClD,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE;gBACxC,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACvB,GAAG,CAAC,aAAa,EAAE,CAAC;gBACtB,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,MAAM,CAAC;IAC1B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution-service.d.ts","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAKL,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAIV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,KAAK,eAAe,EAErB,MAAM,2BAA2B,CAAC;AAYnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuCjE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,UAAU,sBAAsB;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACnD;AAED,qBAAa,sBAAsB;;IAK/B,QAAQ,CAAC,QAAQ,EAAE,cAAc;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,yBAAyB;gBAHtC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,mBAAmB,YAAA,EAC9B,UAAU,CAAC,EAAE,yBAAyB,YAAA;IAG3C,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAmgB/E"}
1
+ {"version":3,"file":"execution-service.d.ts","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAKL,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAIV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,KAAK,eAAe,EAErB,MAAM,2BAA2B,CAAC;AAenC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuCjE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,UAAU,sBAAsB;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACnD;AAED,qBAAa,sBAAsB;;IAM/B,QAAQ,CAAC,QAAQ,EAAE,cAAc;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,yBAAyB;gBAHtC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,mBAAmB,YAAA,EAC9B,UAAU,CAAC,EAAE,yBAAyB,YAAA;IAG3C,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAugB/E"}
@@ -2,7 +2,7 @@ import { FabricExecutionTraceRecorder, executionOutcomeFromError, } from "./audi
2
2
  import { FabricActivityStore } from "./activity/store.js";
3
3
  import { MAX_SUBAGENT_TIMEOUT_MS, MIN_SUBAGENT_TIMEOUT_MS, } from "./config.js";
4
4
  import { ActionRegistry, } from "./core/action-registry.js";
5
- import { ApprovalController } from "./core/approval-controller.js";
5
+ import { ApprovalController, FabricSessionApprovals, } from "./core/approval-controller.js";
6
6
  import { codeUsesOrchestration, isBlockingOrchestrationRef, } from "./runtime/orchestration.js";
7
7
  let runtimeDependencies;
8
8
  const loadRuntimeDependencies = () => runtimeDependencies ??= Promise.all([
@@ -35,6 +35,7 @@ export class FabricExecutionService {
35
35
  authorizer;
36
36
  #runtime;
37
37
  #runtimeKind;
38
+ #sessionApprovals = new FabricSessionApprovals();
38
39
  constructor(registry, config, activity, authorizer) {
39
40
  this.registry = registry;
40
41
  this.config = config;
@@ -61,7 +62,7 @@ export class FabricExecutionService {
61
62
  typeErrors: checked.errors,
62
63
  };
63
64
  }
64
- const approval = new ApprovalController(this.config.approvals, options.context);
65
+ const approval = new ApprovalController(this.config.approvals, options.context, this.#sessionApprovals);
65
66
  const audits = [];
66
67
  const phases = [];
67
68
  const workflowSpans = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"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"}
@@ -209,8 +209,8 @@ Fabric risk classes are `read`, `write`, `execute`, `network`, and `agent`; appr
209
209
  - Captured tools default to the conservative `execute` risk because Pi tool definitions do not declare effects. Add exact tool-name overrides under `capture.risks`.
210
210
  - Set `capture.hideFromModel` to `false` to index non-core extension tools without hiding them.
211
211
  - `capture.keepVisible` names stay in both Fabric and Pi's direct registry, except that Pi core names are always Fabric-owned in full code mode.
212
- - An `ask` policy emits a warning notification and opens an explicit **Allow access** / **Deny** permission prompt. The TUI uses an inline wizard; RPC clients receive the equivalent `select` dialog. Escape, dismissal, and unavailable interactive UI all fail closed.
213
- - Approval is cached by risk class for one `fabric_exec` execution.
212
+ - An `ask` policy emits a warning notification and opens an explicit **Allow once** / **Allow for this session** / **Deny** permission prompt, matching Claude-style approval scopes. **Allow once** authorizes only the requested action. **Allow for this session** authorizes that risk class until the current Pi session ends. The TUI uses an inline wizard; RPC clients receive the equivalent `select` dialog.
213
+ - Concurrent requests are serialized so a one-time approval never silently widens to sibling calls. Escape, dismissal, unavailable interactive UI, and session restart all fail closed.
214
214
 
215
215
  ## Subagents
216
216
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-fabric",
3
- "version": "0.25.2",
3
+ "version": "0.25.3",
4
4
  "description": "A programmable tool and agent runtime for Pi",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",