@intentic/sandbox-contract 1.218.1 → 1.219.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/contracts/agent.contract.d.ts +56 -0
- package/dist/contracts/agent.contract.d.ts.map +1 -1
- package/dist/contracts/capabilities.contract.d.ts +16 -0
- package/dist/contracts/capabilities.contract.d.ts.map +1 -1
- package/dist/contracts/system.contract.d.ts +1 -0
- package/dist/contracts/system.contract.d.ts.map +1 -1
- package/dist/events.d.ts +71 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +21 -0
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +73 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/schemas.d.ts +42 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +21 -0
- package/dist/schemas.js.map +1 -1
- package/dist/workspace-state.d.ts +5 -0
- package/dist/workspace-state.d.ts.map +1 -1
- package/dist/workspace-state.js +6 -0
- package/dist/workspace-state.js.map +1 -1
- package/package.json +4 -4
- package/src/events.ts +44 -0
- package/src/schemas.ts +59 -0
- package/src/workspace-state.ts +12 -0
|
@@ -22,6 +22,11 @@ declare const STATE_FILES: readonly [{
|
|
|
22
22
|
readonly path: ".intentic/records/secret-uses.json";
|
|
23
23
|
readonly invalidates: readonly ["secrets"];
|
|
24
24
|
readonly portability: "carry";
|
|
25
|
+
}, {
|
|
26
|
+
readonly path: ".intentic/records/wallet-ledger.json";
|
|
27
|
+
readonly invalidates: readonly [];
|
|
28
|
+
readonly why: "Rendered through the wallet CLI and the capability card's live status probe, not from a browser query key.";
|
|
29
|
+
readonly portability: "carry";
|
|
25
30
|
}, {
|
|
26
31
|
readonly path: ".intentic/config/personas.json";
|
|
27
32
|
readonly invalidates: readonly ["personas", "capabilities", "manifests"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA0CxD,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IAKjD,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAExC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAgCtB,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAY1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAoBzB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAKxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACnC;AAOD,QAAA,MAAM,WAAW;mBA4BH,oCAAoC;;0BAE7B,OAAO;;;mBAShB,6CAA6C;;0BAA8C,OAAO;;;mBAOlG,oCAAoC;;0BAAyC,OAAO;;
|
|
1
|
+
{"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace-state.js
CHANGED
|
@@ -8,6 +8,12 @@ const STATE_FILES = [
|
|
|
8
8
|
},
|
|
9
9
|
{ path: ".intentic/config/capability-dismissals.json", invalidates: ["capabilities"], portability: "carry", versioned: true },
|
|
10
10
|
{ path: ".intentic/records/secret-uses.json", invalidates: ["secrets"], portability: "carry" },
|
|
11
|
+
{
|
|
12
|
+
path: ".intentic/records/wallet-ledger.json",
|
|
13
|
+
invalidates: [],
|
|
14
|
+
why: "Rendered through the wallet CLI and the capability card's live status probe, not from a browser query key.",
|
|
15
|
+
portability: "carry",
|
|
16
|
+
},
|
|
11
17
|
{ path: ".intentic/config/personas.json", invalidates: ["personas", "capabilities", "manifests"], portability: "carry", versioned: true },
|
|
12
18
|
{ path: ".intentic/config/environment.custom.Dockerfile", invalidates: ["environment"], portability: "carry", versioned: true },
|
|
13
19
|
{ path: ".intentic/config/environment.Dockerfile", invalidates: ["environment"], portability: "carry", versioned: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-state.js","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgIhD,MAAM,WAAW,GAAG;IA2BhB;QACI,IAAI,EAAE,oCAAoC;QAC1C,WAAW,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC;QACnE,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAOD,EAAE,IAAI,EAAE,6CAA6C,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAO7H,EAAE,IAAI,EAAE,oCAAoC,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"workspace-state.js","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgIhD,MAAM,WAAW,GAAG;IA2BhB;QACI,IAAI,EAAE,oCAAoC;QAC1C,WAAW,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC;QACnE,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAOD,EAAE,IAAI,EAAE,6CAA6C,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAO7H,EAAE,IAAI,EAAE,oCAAoC,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE;IAO9F;QACI,IAAI,EAAE,sCAAsC;QAC5C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,4GAA4G;QACjH,WAAW,EAAE,OAAO;KACvB;IAcD,EAAE,IAAI,EAAE,gCAAgC,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAYzI,EAAE,IAAI,EAAE,gDAAgD,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAC/H,EAAE,IAAI,EAAE,yCAAyC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IACxH,EAAE,IAAI,EAAE,iCAAiC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAChH;QACI,IAAI,EAAE,iDAAiD;QACvD,WAAW,EAAE,CAAC,aAAa,CAAC;QAC5B,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,oGAAoG;KAC7G;IAED,EAAE,IAAI,EAAE,gCAAgC,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAIzH;QACI,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,CAAC,cAAc,CAAC;QAC7B,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,qFAAqF;KAC9F;IAgBD,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IAKpH;QACI,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kHAAkH;QACvH,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAcD;QACI,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kHAAkH;QACvH,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,2HAA2H;QAChI,WAAW,EAAE,OAAO;KACvB;IAMD;QACI,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,8IAA8I;QACnJ,WAAW,EAAE,OAAO;KACvB;IAKD;QACI,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,6IAA6I;QAClJ,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,sEAAsE;KACxF;IAQD,EAAE,IAAI,EAAE,iCAAiC,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAC9G,EAAE,IAAI,EAAE,sCAAsC,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE;IAOnH,EAAE,IAAI,EAAE,oCAAoC,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IACpH;QACI,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,4cAA4c;QACjd,WAAW,EAAE,OAAO;KACvB;IAQD;QACI,IAAI,EAAE,yCAAyC;QAC/C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kYAAkY;QACvY,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,ifAAif;QACtf,WAAW,EAAE,OAAO;KACvB;IAsBD;QACI,IAAI,EAAE,0CAA0C;QAChD,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,2iBAA2iB;QAChjB,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAKD;QACI,IAAI,EAAE,4CAA4C;QAClD,WAAW,EAAE,CAAC,YAAY,CAAC;QAC3B,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAoBD,EAAE,IAAI,EAAE,wCAAwC,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IAItI,EAAE,IAAI,EAAE,0CAA0C,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE;IAGvG,EAAE,IAAI,EAAE,+CAA+C,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAG7H;QACI,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,qdAAqd;QAC1d,WAAW,EAAE,OAAO;KACvB;IAYD;QACI,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,sVAAsV;QAC3V,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,uHAAuH;KAChI;IAcD;QACI,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,oKAAoK;QACzK,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,kNAAkN;KAC3N;IAWD;QACI,IAAI,EAAE,oCAAoC;QAC1C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,8FAA8F;QACnG,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,6LAA6L;QAClM,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,+JAA+J;QACpK,WAAW,EAAE,SAAS;KACzB;IAMD;QACI,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kHAAkH;QACvH,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,+CAA+C;KACjE;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,+JAA+J;QACpK,WAAW,EAAE,SAAS;KACzB;IAMD;QACI,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,oHAAoH;QACzH,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,wDAAwD;KAC1E;IACD;QACI,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kJAAkJ;QACvJ,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,yDAAyD;KAClE;IACD;QACI,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,4IAA4I;QACjJ,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,2GAA2G;QAChH,WAAW,EAAE,SAAS;KACzB;IACD;QACI,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,iGAAiG;QACtG,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,0EAA0E;KACnF;IASD;QACI,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,oIAAoI;QACzI,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,mFAAmF;KAC5F;IACD;QACI,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,uGAAuG;QAC5G,WAAW,EAAE,UAAU;KAC1B;IACD;QACI,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kFAAkF;QACvF,WAAW,EAAE,UAAU;KAC1B;IACD;QACI,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,0DAA0D;QAC/D,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAKD;QACI,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,sGAAsG;QAC3G,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,+EAA+E;KACxF;IACD;QACI,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,mIAAmI;QACxI,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,kFAAkF;KAC3F;IACD,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,wDAAwD,EAAE,WAAW,EAAE,OAAO,EAAE;IAS5I,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAcpG,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;CAC1D,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAkC,WAAW,CAAC;AAShF,MAAM,CAAC,MAAM,qBAAqB,GAAsB,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAgBxI,MAAM,CAAC,MAAM,sBAAsB,GAAsB,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAChI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CACtB,CAAC;AAsDF,MAAM,CAAC,MAAM,eAAe,GAAyC;IACjE,MAAM,EAAE,GAAG,SAAS,SAAS;IAC7B,OAAO,EAAE,GAAG,SAAS,UAAU;IAC/B,KAAK,EAAE,GAAG,SAAS,QAAQ;IAC3B,QAAQ,EAAE,GAAG,SAAS,WAAW;IACjC,OAAO,EAAE,GAAG,SAAS,UAAU;CAClC,CAAC;AAKF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAA0B,CAAC;AAIlF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAc,EAAE;IACjE,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,KAAK,QAAQ;YACT,OAAO,SAAS,CAAC;QACrB,KAAK,UAAU;YACX,OAAO,UAAU,CAAC;QACtB,KAAK,SAAS;YACV,OAAO,OAAO,CAAC;QACnB,KAAK,OAAO;YACR,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAqB,EAAE,CACpE,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAYlG,MAAM,CAAC,MAAM,qBAAqB,GAAsB,qBAAqB,CAAC,MAAM,CAChF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CACvG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAK3B,MAAM,CAAC,MAAM,oBAAoB,GAAsB,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CACzI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CACtB,CAAC;AAUF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC7D,GAAG,eAAe,CAAC,KAAK,uBAAuB,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC;AAmBnG,MAAM,CAAC,MAAM,uBAAuB,GAAsB,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CACxI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CACtB,CAAC;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAShI,MAAM,CAAC,MAAM,4BAA4B,GAAG;IASxC,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC;IAO9E,QAAQ,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,CAAC;IACjF,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC/I,SAAS,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC;CACpG,CAAC;AAoBX,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACtD,qBAAqB;IACrB,uBAAuB;IACvB,8BAA8B;IAC9B,0BAA0B;IAC1B,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,eAAe;IAKf,aAAa;CAChB,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAW,EAAE;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;IAC/F,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAMD,OAAO,CACH,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAU,CAAC,CAAC,CAC/F,CAAC;AACN,CAAC,CAAC;AAoBF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAW,EAAE;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC;AAC1I,CAAC,CAAC;AA2BF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAE,WAAwC,EAAqB,EAAE,CAAC;IACrH,GAAG,IAAI,GAAG,CACN,CAAC,GAAG,qBAAqB,EAAE,GAAG,WAAW,CAAC;SACrC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACjG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAC3C;CACJ,CAAC;AAOF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAwC,EAAqB,EAAE,CAAC;IAC/F,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;CAC7F,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/sandbox-contract",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.219.0",
|
|
4
4
|
"description": "oRPC wire contract for the intentic sandbox daemon — shared by the daemon and its browser client",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -89,9 +89,9 @@
|
|
|
89
89
|
"@orpc/contract": "1.14.13",
|
|
90
90
|
"tslib": "2.8.1",
|
|
91
91
|
"zod": "4.4.3",
|
|
92
|
-
"@intentic/constants": "1.
|
|
93
|
-
"@intentic/registry": "1.
|
|
94
|
-
"@intentic/extension-manifest": "1.
|
|
92
|
+
"@intentic/constants": "1.219.0",
|
|
93
|
+
"@intentic/registry": "1.219.0",
|
|
94
|
+
"@intentic/extension-manifest": "1.219.0"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
97
|
"@types/node": "24.13.2",
|
package/src/events.ts
CHANGED
|
@@ -119,6 +119,32 @@ export const ServiceRunReceiptSchema = z.object({
|
|
|
119
119
|
});
|
|
120
120
|
export type ServiceRunReceipt = z.infer<typeof ServiceRunReceiptSchema>;
|
|
121
121
|
|
|
122
|
+
/* ONE OUTBOUND USDC PAYMENT, OFFERED — the card the daemon raises when the agent asks to pay an x402
|
|
123
|
+
* endpoint out of the sandbox wallet (wallet/payment-offer.ts). Every number on it is the daemon's own
|
|
124
|
+
* arithmetic over the ENDPOINT's parsed challenge and the wallet's own ledger — the model that asked
|
|
125
|
+
* contributes `why` (its one line of rationale) and nothing else, which is what makes the price on the card
|
|
126
|
+
* impossible to misquote, and the click on it the only way the money can move. */
|
|
127
|
+
export const PaymentOfferSchema = z.object({
|
|
128
|
+
// The paid resource, as the endpoint's challenge stated it.
|
|
129
|
+
url: z.string(),
|
|
130
|
+
description: z.string().optional(),
|
|
131
|
+
// Where the money goes, verbatim off the challenge: recipient address, CAIP-2 network, token contract.
|
|
132
|
+
payTo: z.string(),
|
|
133
|
+
network: z.string(),
|
|
134
|
+
asset: z.string(),
|
|
135
|
+
// The token's display name ("USDC") — dollar-pegged, which is what lets every amount below read as USD.
|
|
136
|
+
assetName: z.string(),
|
|
137
|
+
// The exact price in display units ("0.10") — the x402 exact scheme has no ranges, so this is the whole
|
|
138
|
+
// spend, not a ceiling.
|
|
139
|
+
amountUsd: z.string(),
|
|
140
|
+
// The wallet's meter as the daemon's ledger states it — what "spent today / cap" renders from.
|
|
141
|
+
spentTodayUsd: z.string(),
|
|
142
|
+
dailyCapUsd: z.string(),
|
|
143
|
+
// The agent's one-line case for paying — the only prose on the card that is the model's.
|
|
144
|
+
why: z.string().optional(),
|
|
145
|
+
});
|
|
146
|
+
export type PaymentOffer = z.infer<typeof PaymentOfferSchema>;
|
|
147
|
+
|
|
122
148
|
// One provider-advertised slash command — an ACP agent's available_commands entry, or a Claude Code session's
|
|
123
149
|
// supportedCommands() (its built-ins plus the workspace's own .claude/commands and any plugin/skill commands).
|
|
124
150
|
// `hint` is the argument placeholder the popover shows after the name.
|
|
@@ -642,6 +668,24 @@ export const AgentEventSchema = z.discriminatedUnion("kind", [
|
|
|
642
668
|
outcome: z.enum(["connected", "unfinished"]),
|
|
643
669
|
id: z.string().optional(),
|
|
644
670
|
}),
|
|
671
|
+
/* A USDC payment awaiting the owner's click. Raised OUTSIDE the turn generator exactly like the service
|
|
672
|
+
* offer above (the daemon's wallet route parks the agent's `wallet fetch` call and pushes this frame into
|
|
673
|
+
* the live run; wallet/payment-offer.ts), so it is not journalled for restore either: its waiter is the
|
|
674
|
+
* CLI's held connection, which dies with the daemon. Settles through the same `POST /agent/reply`. */
|
|
675
|
+
z.object({ kind: z.literal("payment_offer"), requestId: z.string(), offer: PaymentOfferSchema }),
|
|
676
|
+
/* How an approved (or auto-approved) payment ended, pushed after the endpoint answered so the card can
|
|
677
|
+
* settle as a receipt rather than a promise: `paid` — the endpoint confirmed settlement (`transaction` is
|
|
678
|
+
* the onchain hash when it stated one); `failed` — the payment was refused or settlement failed, in which
|
|
679
|
+
* case the signed authorization expires unused and NOTHING left the wallet. A skip needs no receipt —
|
|
680
|
+
* nothing moved, and `resolved` already says so. */
|
|
681
|
+
z.object({
|
|
682
|
+
kind: z.literal("payment_receipt"),
|
|
683
|
+
requestId: z.string(),
|
|
684
|
+
outcome: z.enum(["paid", "failed"]),
|
|
685
|
+
amountUsd: z.string(),
|
|
686
|
+
transaction: z.string().optional(),
|
|
687
|
+
network: z.string().optional(),
|
|
688
|
+
}),
|
|
645
689
|
// The card above named by `requestId` is released — the user answered (or dismissed it, or the turn was
|
|
646
690
|
// stopped out from under it), so the turn is executing again. Emitted by whoever parked, the moment its
|
|
647
691
|
// waiter settles, because the park's END is otherwise invisible on this stream: nothing else here says
|
package/src/schemas.ts
CHANGED
|
@@ -1333,6 +1333,14 @@ export const AgentReplySchema = z.discriminatedUnion("kind", [
|
|
|
1333
1333
|
requestId: z.string().min(1),
|
|
1334
1334
|
connect: z.boolean(),
|
|
1335
1335
|
}),
|
|
1336
|
+
// A USDC payment's yes or no. The click is the ONLY way the money can move — the daemon holds the agent's
|
|
1337
|
+
// `wallet fetch` parked until this settles it (wallet/payment-offer.ts) — so `approve` carries no
|
|
1338
|
+
// qualifiers: one true releases exactly one payment, and anything else spends nothing.
|
|
1339
|
+
z.object({
|
|
1340
|
+
kind: z.literal("payment_offer"),
|
|
1341
|
+
requestId: z.string().min(1),
|
|
1342
|
+
approve: z.boolean(),
|
|
1343
|
+
}),
|
|
1336
1344
|
]);
|
|
1337
1345
|
export type AgentReply = z.infer<typeof AgentReplySchema>;
|
|
1338
1346
|
// Steering: a user message delivered INTO the running turn (injected between tool calls, Claude Code style),
|
|
@@ -3190,6 +3198,7 @@ export const CapabilityKindSchema = z.enum([
|
|
|
3190
3198
|
"host",
|
|
3191
3199
|
"agent",
|
|
3192
3200
|
"endpoint",
|
|
3201
|
+
"wallet",
|
|
3193
3202
|
]);
|
|
3194
3203
|
export type CapabilityKind = z.infer<typeof CapabilityKindSchema>;
|
|
3195
3204
|
export const CapabilityStateSchema = z.enum(["active", "pending", "error", "inactive"]);
|
|
@@ -3591,6 +3600,47 @@ export const EndpointConfigSchema = z.object({
|
|
|
3591
3600
|
apiKey: z.string().optional(),
|
|
3592
3601
|
headers: z.string().optional(),
|
|
3593
3602
|
});
|
|
3603
|
+
/* THE SANDBOX WALLET — a USDC balance the agent can spend on x402-payable endpoints, under owner policy.
|
|
3604
|
+
*
|
|
3605
|
+
* WHAT IS DELIBERATELY NOT HERE IS A KEY. The signing key lives with the PLATFORM (one wallet per owner,
|
|
3606
|
+
* reached with the connect token the agent's grant never covers) — the container filesystem is explicitly not
|
|
3607
|
+
* a boundary in this codebase's threat model (see the daemon's secret-vault.ts header), so the key does not
|
|
3608
|
+
* enter the container at all. `address` is the wallet's PUBLIC address, written back by the handler's apply
|
|
3609
|
+
* from the platform's answer, never typed by anyone: it is where the owner sends USDC, and everything the
|
|
3610
|
+
* agent may know.
|
|
3611
|
+
*
|
|
3612
|
+
* POLICY IS THE OWNER'S DELEGATION, and its defaults are the conservative ones: every payment raises an
|
|
3613
|
+
* approval card (`autoApproveUnderUsd: "0"`), bounded per payment and per UTC day. The daemon enforces it at
|
|
3614
|
+
* the route AND the platform re-validates at the signer — the daemon's check is UX, the signer's is the
|
|
3615
|
+
* guarantee, so a compromised container can at worst request what the owner already permitted. Amounts are
|
|
3616
|
+
* DECIMAL STRINGS, never floats: the daemon does its arithmetic in the token's atomic units (USDC has six
|
|
3617
|
+
* decimals), and a float here would be a rounding bug wearing a type.
|
|
3618
|
+
*
|
|
3619
|
+
* `allow`/`deny` are hostname lists (comma- or newline-separated). Empty allow = any host, each behind its
|
|
3620
|
+
* card; deny wins over allow. One capability per sandbox (singleton card): a second balance would just be a
|
|
3621
|
+
* second opinion about the same owner's wallet. */
|
|
3622
|
+
const usdAmount = z
|
|
3623
|
+
.string()
|
|
3624
|
+
.regex(/^\d+(\.\d{1,6})?$/, "a USD amount like 0.50 (up to six decimals — USDC's own precision)");
|
|
3625
|
+
export const WalletNetworkSchema = z.enum(["eip155:8453", "eip155:84532"]);
|
|
3626
|
+
export type WalletNetwork = z.infer<typeof WalletNetworkSchema>;
|
|
3627
|
+
export const WalletConfigSchema = z.object({
|
|
3628
|
+
// The chain payments settle on, CAIP-2. Base mainnet, or Base Sepolia for test mode (faucet USDC, the
|
|
3629
|
+
// whole flow — cards, ledger, receipts — with zero real money).
|
|
3630
|
+
network: WalletNetworkSchema.default("eip155:8453"),
|
|
3631
|
+
// The wallet's public address — the platform's answer at apply time, never a form field.
|
|
3632
|
+
address: z.string().optional(),
|
|
3633
|
+
// Hard per-payment ceiling: over it the route refuses without raising a card.
|
|
3634
|
+
perPaymentMaxUsd: usdAmount.default("1.00"),
|
|
3635
|
+
// Payments at or under this settle without a card, inside the daily cap. "0" = every payment is carded.
|
|
3636
|
+
autoApproveUnderUsd: usdAmount.default("0"),
|
|
3637
|
+
// The UTC-day ceiling across all payments, carded or not.
|
|
3638
|
+
dailyCapUsd: usdAmount.default("5.00"),
|
|
3639
|
+
allow: z.string().optional(),
|
|
3640
|
+
deny: z.string().optional(),
|
|
3641
|
+
});
|
|
3642
|
+
export type WalletConfig = z.infer<typeof WalletConfigSchema>;
|
|
3643
|
+
|
|
3594
3644
|
export type McpConfig = z.infer<typeof McpConfigSchema>;
|
|
3595
3645
|
export type ServiceConfig = z.infer<typeof ServiceConfigSchema>;
|
|
3596
3646
|
export type IntegrationConfig = z.infer<typeof IntegrationConfigSchema>;
|
|
@@ -3639,6 +3689,8 @@ export const CapabilitySchema = z.discriminatedUnion("kind", [
|
|
|
3639
3689
|
// precedent, with the prefix because these two are the only capability kinds that mint providers and they
|
|
3640
3690
|
// want opposite ability records (an ACP agent owns its own loop; an endpoint runs the full Claude Code one).
|
|
3641
3691
|
z.object({ id: entryId, kind: z.literal("endpoint"), config: EndpointConfigSchema }),
|
|
3692
|
+
// The sandbox's USDC wallet (WalletConfigSchema) — one per sandbox; the key never enters the container.
|
|
3693
|
+
z.object({ id: entryId, kind: z.literal("wallet"), config: WalletConfigSchema }),
|
|
3642
3694
|
]);
|
|
3643
3695
|
export type Capability = z.infer<typeof CapabilitySchema>;
|
|
3644
3696
|
|
|
@@ -5794,6 +5846,13 @@ export const TerminalSessionSchema = z.object({
|
|
|
5794
5846
|
running: z.boolean(),
|
|
5795
5847
|
activityAt: z.number(),
|
|
5796
5848
|
exitCode: z.number().optional(),
|
|
5849
|
+
/* WHAT THIS SESSION IS RUNNING RIGHT NOW — `pane_current_command` of its live pane — and ABSENT when it is
|
|
5850
|
+
* sitting at its shell prompt. Not a second spelling of `running`: that field says whether a session is a
|
|
5851
|
+
* live thing at all (and for a `web-*` shell it is unconditionally true, prompt or build), whereas this one
|
|
5852
|
+
* says whether anything is HAPPENING in it. Killing a terminal is final, so the panel confirms on this
|
|
5853
|
+
* field before its × ends a session that has work in it, and names the command in the question — see the
|
|
5854
|
+
* daemon's `foreground` (system/system.routes.ts) for why a word rather than a flag. */
|
|
5855
|
+
command: z.string().optional(),
|
|
5797
5856
|
extensionId: z.string().optional(),
|
|
5798
5857
|
processName: z.string().optional(),
|
|
5799
5858
|
// The agent has parked on a command that stopped for a PERSON — an OTP prompt, a security-key touch, a
|
package/src/workspace-state.ts
CHANGED
|
@@ -174,6 +174,18 @@ const STATE_FILES = [
|
|
|
174
174
|
* secrets, and an export that dropped it would arrive claiming none had ever been touched. */
|
|
175
175
|
{ path: ".intentic/records/secret-uses.json", invalidates: ["secrets"], portability: "carry" },
|
|
176
176
|
|
|
177
|
+
/* The wallet's payment ledger — one row per payment attempt that reached policy (sandbox's
|
|
178
|
+
* wallet/wallet-ledger.ts): what was paid, to whom, how it settled, with the onchain transaction hash
|
|
179
|
+
* when the endpoint stated one. Holds amounts, hosts and addresses, never a credential — the signing key
|
|
180
|
+
* never enters the container at all — so it may `carry`: like the secret-use ledger, a spend history is
|
|
181
|
+
* about the owner's money, and an export that dropped it would arrive claiming none was ever spent. */
|
|
182
|
+
{
|
|
183
|
+
path: ".intentic/records/wallet-ledger.json",
|
|
184
|
+
invalidates: [],
|
|
185
|
+
why: "Rendered through the wallet CLI and the capability card's live status probe, not from a browser query key.",
|
|
186
|
+
portability: "carry",
|
|
187
|
+
},
|
|
188
|
+
|
|
177
189
|
/* The named personas this sandbox shows the outside world — which connected accounts each one speaks for,
|
|
178
190
|
* what a session wearing it may do, where it works (schemas.ts PersonaSchema). It invalidates `capabilities` as well as
|
|
179
191
|
* its own key because a card and the accounts it names are read together everywhere they are shown: connect
|