@inventarch/agent-system 1.0.0 → 1.1.1

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/LANGUAGE.md ADDED
@@ -0,0 +1,56 @@
1
+ # Public IA language
2
+
3
+ IA records declare typed identities, fields and relationships. Owning canonical schemas define the structural contract; language syntax and reference resolution preserve those declarations.
4
+
5
+ The selected vocabulary below is shared by this release. Use `ia vocabulary --json` for its attributed catalogue and `ia vocabulary --schema` for canonical field schemas. `ia validate` reports structural and evaluated evidence separately. An admitted declaration does not establish semantic quality or grant execution authority.
6
+
7
+ Spec source locators do not load documents. Resource capture and disclosure require explicit selection, matching pins and a host-owned disclosure boundary. Model, operation, evaluator and authority callbacks belong to the application host.
8
+
9
+ | Word | Owner | Meaning |
10
+ | --- | --- | --- |
11
+ | @agent | agent-system | Names a participant and the vocabulary to which its governance applies. It does not grant host permissions. |
12
+ | @agent-profile | agent-composition-system | Composes an agent, capabilities, optional mandate/voice/delegates and installed execution contracts. |
13
+ | @artifact-set | taxonomy | Defines a closed grouping of artifact genres. |
14
+ | @authoring-guide | authoring-system | Associates a vocabulary owner and schema with an authoring reference and usage guidance. |
15
+ | @axis | taxonomy | Defines a closed coordinate axis for selection. |
16
+ | @capability | agent-composition-system | Groups operations, procedures, templates, checks and included capabilities with declared execution bounds. |
17
+ | @cardinality | taxonomy | Defines relationship multiplicity constraints. |
18
+ | @case | compliance-system | Declares scenario inputs, expected behavior and evaluator attribution. A declaration is not an observed test result. |
19
+ | @category | taxonomy | Defines a closed concept classification used by record shapes and contextual selection. |
20
+ | @check | compliance-system | Names a check implementation and scope. Declaring an implementation name does not install or execute it. |
21
+ | @contract | compliance-system | Names versioned requirements that may be adopted by other records. Requirements need explicit evaluation evidence. |
22
+ | @convention | governance-system | Declares a convention in the shared governance shape. |
23
+ | @decision | work-system | Represents a choice that is needed or has been made: the question, options and decider, and once made, the choice and rationale. |
24
+ | @dimension | taxonomy | Defines a supported record dimension used by conditions and lookup. |
25
+ | @distribution | workspace-system | Declares root records from which a distributable closure is selected. |
26
+ | @execution-binding | agent-composition-system | Connects a native target to a host-installed entry or operation descriptor. |
27
+ | @harness | agent-composition-system | Composes profiles and execution bindings in a workspace under a host contract. |
28
+ | @hook | hook-authoring-system | Represents a host event, tool/path selection and guard message. Registration and executing a guard require a host adapter. |
29
+ | @improvement | learning-system | Represents a proposed change, review metadata and publication metadata. It does not authorize or apply the proposal. |
30
+ | @intent-shape | taxonomy | Defines a request framing and its retrieval defaults. |
31
+ | @kind | taxonomy | Defines a closed semantic role for records; lowering determines the role of each registered word. |
32
+ | @lane | taxonomy | Defines a retrieval lane associated with record kinds. |
33
+ | @law | governance-system | Declares a rule with severity. Structural admission cannot establish the truth or suitability of its prose. |
34
+ | @mandate | agent-system | States bounded authority and conditions for a participant. Host authorization remains independent. |
35
+ | @milestone | work-system | Represents an outcome with an exit criterion inside exactly one plan; it names a condition, not the work toward it. |
36
+ | @move | taxonomy | Defines the closed classification of an agent action or activity. |
37
+ | @observation | learning-system | Represents an attributed evidence account with interpretation and retention metadata. Evidence claims are not verified by field typing. |
38
+ | @operation | authoring-system | Binds a declared operation to an implementation/input/output/effect contract; the host installs implementations. |
39
+ | @phase | taxonomy | Defines a cognitive phase coordinate: orient, plan, act or learn. |
40
+ | @placement | taxonomy | Defines source authority and reach metadata. |
41
+ | @plan | work-system | Represents an arrangement of milestones toward an intent; it heads the work hierarchy and has no parent. Plans do not nest. |
42
+ | @playbook | governance-system | Represents a procedure as phase/primitive cells. Cell delivery is generic; the authored method belongs to its author. |
43
+ | @predicate | taxonomy | Defines a directed relationship and its inverse spelling. |
44
+ | @primitive | taxonomy | Defines a cognitive primitive coordinate; a cell is selected using its phase and primitive. |
45
+ | @principle | governance-system | Declares a governing rationale in the shared governance shape. |
46
+ | @run | session-system | Represents a governed run identity, declared phase, status and owner. Declaration does not start execution. |
47
+ | @schema | floor | Declares the structural contract for exactly one registered discriminator. |
48
+ | @spec | work-system | Represents a maintained specification with explicit status and at most one same-word supersession. Contents and document membership belong to its author; a source locator does not load a body or prove semantic quality. |
49
+ | @system | floor | Registers vocabulary, direct system dependencies, a local steward and consent for relationships. |
50
+ | @task | work-system | Represents one owner's action toward exactly one milestone. Whether it is ready to start is computed by a work evaluator, never stored on the record. |
51
+ | @template | template-system | Represents bounded rendering inputs and output structure. Rendering does not publish or install output. |
52
+ | @value-type | taxonomy | Defines the field types that schemas may require. |
53
+ | @voice | agent-composition-system | Declares communication attributes separate from authority and procedure. |
54
+ | @workspace | workspace-system | Groups systems into an explicit work boundary; relationships can describe dependencies between boundaries. |
55
+
56
+ This guide describes the selected structural vocabulary. Private expert procedures, live provider behavior and unobserved platform qualification are separate from the installed public contract.
package/SPEC.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # @inventarch/agent-system
2
2
 
3
- Public language mechanism. The [language reference](https://github.com/inventarch/ia/blob/main/docs/reference/language/README.md) defines vocabulary and evaluation limits. Package exports describe the installed API. Curated agent methods and hosted services are supplied independently.
3
+ Public language mechanism. The [language reference](LANGUAGE.md) defines vocabulary and evaluation limits. Package exports describe the installed API. Curated agent methods and hosted services are supplied independently.
@@ -15,6 +15,10 @@ export declare function admittedReview(state: Session, run: Run, operation: Oper
15
15
  revision: number;
16
16
  digest: string;
17
17
  decisionId: string;
18
+ authority?: {
19
+ mandate: string;
20
+ policyRevision: string;
21
+ };
18
22
  reviewer: string;
19
23
  rule: string;
20
24
  expiresAt: number;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE/G,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,OAAO,EACP,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAenG;AACD,wBAAgB,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAelE;AACD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAsBvG;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAkBlH;AACD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,mBAAmB,GAAG,SAAS,EAC1C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,SAAS,IAAI,mBAAmB,CAW1C;AAaD,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACjD,GAAG,EAAE,MAAM,GACV,cAAc,GAAG,SAAS,CAuD5B;AACD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAChD,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;cAuDnB;AACD,wGAAwG;AACxG,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,GAChD,IAAI,CA4BN"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE/G,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,OAAO,EACP,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAenG;AACD,wBAAgB,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAelE;AACD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAsBvG;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAkBlH;AACD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,mBAAmB,GAAG,SAAS,EAC1C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,SAAS,IAAI,mBAAmB,CAW1C;AAaD,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACjD,GAAG,EAAE,MAAM,GACV,cAAc,GAAG,SAAS,CA8D5B;AACD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAChD,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;cAuDnB;AACD,wGAAwG;AACxG,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,GAChD,IAAI,CA4BN"}
package/dist/contracts.js CHANGED
@@ -97,9 +97,12 @@ export function offerReview(state, run, profile, grant, manifest, action, now) {
97
97
  /^[a-f0-9]{64}$/.test(validation.artifactDigest), 'IA-ENGINE-CANDIDATE-UNVERIFIED', 'An exact successful candidate-validation receipt is required');
98
98
  const expiry = Math.min(state.limits.deadline, run.limits?.deadline ?? Infinity, grant.expiresAt);
99
99
  check(expiry > now, 'IA-ENGINE-REVIEW-INVALID', 'Review deadline expired');
100
+ const policy = profile.contract?.review;
101
+ check(!policy || policy.reviewer !== state.principal, 'IA-ENGINE-REVIEW-INVALID', 'The writer cannot approve its own changes');
100
102
  return {
101
- reviewer: state.principal,
102
- rule: 'operator-exact-candidate-v1',
103
+ reviewer: policy?.reviewer ?? state.principal,
104
+ rule: policy?.rule ?? 'operator-exact-candidate-v1',
105
+ ...(policy ? { authority: { mandate: policy.mandate, policyRevision: policy.policyRevision } } : {}),
103
106
  expiresAt: expiry,
104
107
  operation: operation.id,
105
108
  bindingDigest: operation.digest,
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAYnD,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,MAAkC,EAAE,GAAW;IACzF,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,KAAK,CACH,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtE,yBAAyB,EACzB,wBAAwB,CACzB,CAAC;QACF,IAAI,GAAG,KAAK,YAAY;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;aAC9E,CAAC;YACJ,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,UAAU,EAAE,yBAAyB,EAAE,wBAAwB,CAAC,CAAC;YAC3G,MAAM,CAAC,GAAmB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAmB,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,OAAc,EAAE,OAAe;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAU,EAAE,CAAC;QACtF,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAqB;QAC9D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,YAAY;QACtB,MAAM,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9D,OAAO,CAAC,YAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;IACJ,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAU,EAAE,QAA8B;IACvF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC;IACtD,KAAK,CACH,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAClD,wBAAwB,EACxB,8DAA8D,CAC/D,CAAC;IACF,KAAK,CACH,OAAO,CAAC,UAAU,KAAK,UAAU,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAClG,wBAAwB,EACxB,2DAA2D,CAC5D,CAAC;IACF,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,uBAAuB;QACnC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;KAC3C,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,GAAQ,EAAE,QAAgB,EAAE,cAA6B;IAC9F,OAAO;QACL,QAAQ;QACR,cAAc;QACd,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;aAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpB,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,gBAAgB,CAC9B,SAA0C,EAC1C,OAAgB,EAChB,KAAY;IAEZ,KAAK,CACH,SAAS;QACP,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,SAAS,CAAC,OAAO,CAAC,KAAK,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAChG,EACH,4BAA4B,EAC5B,0DAA0D,CAC3D,CAAC;AACJ,CAAC;AACD,SAAS,WAAW,CAAC,KAAW;IAC9B,KAAK,CACH,KAAK,KAAK,IAAI;QACZ,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,EACrC,0BAA0B,EAC1B,iEAAiE,CAClE,CAAC;IACF,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAE,EAAE,WAAW,EAAE,KAAK,CAAC,aAAa,CAAE,EAAE,CAAC;AAChF,CAAC;AACD,MAAM,UAAU,WAAW,CACzB,KAAc,EACd,GAAQ,EACR,OAAgB,EAChB,KAAY,EACZ,QAAkB,EAClB,MAAiD,EACjD,GAAW;IAEX,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACrC,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAC3B,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,KAAK,CACH,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAC7C,yBAAyB,EACzB,8CAA8C,CAC/C,CAAC;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EACtC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IACzD,KAAK,CACH,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC1E,0BAA0B,EAC1B,gEAAgE,CACjE,CAAC;IACF,KAAK,CACH,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EACxE,4BAA4B,EAC5B,4BAA4B,CAC7B,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAC3G,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,EAAE,MAEf,CAAC;IACd,KAAK,CACH,OAAO;QACL,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,sBAAsB;QACvE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC;QACvE,UAAU,EAAE,OAAO,KAAK,IAAI;QAC5B,UAAU,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtD,OAAO,UAAU,CAAC,cAAc,KAAK,QAAQ;QAC7C,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAClD,gCAAgC,EAChC,8DAA8D,CAC/D,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClG,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;IAC3E,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,SAAS;QACzB,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,SAAS,CAAC,EAAE;QACvB,aAAa,EAAE,SAAS,CAAC,MAAM;QAC/B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACxC,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAE;QAClB,iBAAiB,EAAE,OAAO,CAAC,EAAE;KAC9B,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,cAAc,CAC5B,KAAc,EACd,GAAQ,EACR,SAA8B,EAC9B,MAAgD,EAChD,KAAY,EACZ,GAAW,EACX,SAAkB;IAElB,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;QACjD,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,0BAA0B,EAAE,iDAAiD,CAAC,CAAC;QACrG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EACvB,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EACjD,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EACjD,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;IAC5B,KAAK,CACH,GAAG;QACD,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE;QACzB,QAAQ,CAAC,MAAM,KAAK,UAAU;QAC9B,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE;QACnC,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;QAClC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;QAC9B,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,MAAM;QAC3C,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE;QAChC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QACvC,QAAQ,CAAC,MAAM,KAAK,UAAU;QAC9B,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ;QAClC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAC5C,0BAA0B,EAC1B,oDAAoD,CACrD,CAAC;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,KAAK,CACH,MAAM,CAAC,SAAS,GAAG,GAAG;QACpB,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE;QACjC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,MAAM;QACzC,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3C,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QACxD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EACjF,0BAA0B,EAC1B,uEAAuE,CACxE,CAAC;IACF,KAAK,CACH,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EACzE,4BAA4B,EAC5B,iDAAiD,CAClD,CAAC;IACF,KAAK,CACH,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CACjH,EACD,2BAA2B,EAC3B,kDAAkD,CACnD,CAAC;IACF,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC;AACrC,CAAC;AACD,wGAAwG;AACxG,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,GAAQ,EACR,OAAgB,EAChB,MAAiD;IAEjD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAA+C,CAAC;IACrE,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU;QACnC,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,6BAA6B,EAAE,mCAAmC,CAAC,CAAC;IAC3G,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO;IAC9C,KAAK,CACH,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAC/E,6BAA6B,EAC7B,uCAAuC,CACxC,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CACvF,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,EAAE,MAEX,CAAC;QACd,KAAK,CACH,OAAO,EAAE,MAAM;YACb,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,QAAQ,CAAC,SAAS;YAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5E,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,eAAe;YAC1D,MAAM,CAAC,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,cAAc;YACvD,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC9E,6BAA6B,EAC7B,qEAAqE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -11,6 +11,7 @@ export declare class Engine {
11
11
  private checks;
12
12
  private dispatchBudget;
13
13
  private grant;
14
+ private reviewAuthority;
14
15
  private effectContext;
15
16
  start(request: StartRequest): Promise<Session>;
16
17
  advance(sessionId: string, principal: string, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,IAAI,EAA0C,OAAO,EAAQ,MAAM,4BAA4B,CAAC;AAGvH,OAAO,KAAK,EACV,UAAU,EAEV,QAAQ,EAGR,aAAa,EAIb,YAAY,EACb,MAAM,YAAY,CAAC;AA8CpB,wBAAgB,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,QAAQ,GAAG,MAAM,CAGpF;AACD,4FAA4F;AAC5F,qBAAa,MAAM;IAIf,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAE1B,QAAQ,EAAE,QAAQ,EACD,IAAI,EAAE,UAAU;IAkCnC,OAAO,CAAC,GAAG;IAGX,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,cAAc;YAeR,KAAK;IAqCnB,OAAO,CAAC,aAAa;IA6Ff,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IA0C9C,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAC1D,OAAO,CAAC,OAAO,CAAC;IAoMnB,OAAO,CAAC,MAAM;YA4DA,KAAK;YA0GL,GAAG;YAyRH,OAAO;YA2LP,YAAY;IAiC1B,OAAO,CAAC,WAAW;IAwFnB,yFAAyF;IACnF,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAMhC,kGAAkG;IAC5F,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC7F,OAAO,CAAC,OAAO,CAAC;IA2CnB,kFAAkF;IAC5E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgEnG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IAeb,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IAuCnB,mHAAmH;IAC7G,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;CAoDpB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,IAAI,EAOJ,OAAO,EAER,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EACV,UAAU,EAEV,QAAQ,EAGR,aAAa,EAIb,YAAY,EACb,MAAM,YAAY,CAAC;AA8CpB,wBAAgB,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,QAAQ,GAAG,MAAM,CAGpF;AACD,4FAA4F;AAC5F,qBAAa,MAAM;IAIf,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAE1B,QAAQ,EAAE,QAAQ,EACD,IAAI,EAAE,UAAU;IA6CnC,OAAO,CAAC,GAAG;IAGX,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,cAAc;YAeR,KAAK;YAqCL,eAAe;IAmD7B,OAAO,CAAC,aAAa;IAsGf,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IA0C9C,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAC1D,OAAO,CAAC,OAAO,CAAC;IAoMnB,OAAO,CAAC,MAAM;YA4DA,KAAK;YA0GL,GAAG;YA2SH,OAAO;YA2LP,YAAY;IAiC1B,OAAO,CAAC,WAAW;IAwFnB,yFAAyF;IACnF,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAMhC,kGAAkG;IAC5F,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC7F,OAAO,CAAC,OAAO,CAAC;IA2CnB,kFAAkF;IAC5E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgEnG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IAeb,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IA0CnB,mHAAmH;IAC7G,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;CAoDpB"}
package/dist/engine.js CHANGED
@@ -58,6 +58,11 @@ export class Engine {
58
58
  profile.contract.repairAttempts >= 0 &&
59
59
  Number.isSafeInteger(profile.contract.maxAttempts) &&
60
60
  profile.contract.maxAttempts > 0, 'IA-ENGINE-BINDING-UNAVAILABLE', 'Unsupported completion or recovery contract');
61
+ const review = profile.contract.review;
62
+ check(review === undefined ||
63
+ (review.rule === 'independent-exact-candidate-v1' &&
64
+ Object.keys(review).sort().join(',') === 'mandate,policyRevision,reviewer,rule' &&
65
+ [review.reviewer, review.mandate, review.policyRevision].every((v) => typeof v === 'string' && v.trim().length > 0 && v.length <= 512)), 'IA-ENGINE-BINDING-UNAVAILABLE', 'Unsupported independent review policy');
61
66
  const requestBytes = profile.contract.requestBytes;
62
67
  check(requestBytes === undefined ||
63
68
  (Number.isSafeInteger(requestBytes) && requestBytes > 0 && requestBytes <= MAX_MODEL_REQUEST_BYTES), 'IA-ENGINE-BINDING-UNAVAILABLE', 'Unsupported installed model request ceiling');
@@ -103,6 +108,36 @@ export class Engine {
103
108
  check(effective.profiles.includes(profile.id), 'IA-ENGINE-AUTHORITY-DENIED', 'Profile exceeds the inherited authority');
104
109
  return effective;
105
110
  }
111
+ async reviewAuthority(state, run, profile, review, signal) {
112
+ check(review.expiresAt > this.now(), 'IA-ENGINE-REVIEW-INVALID', 'Exact review expired');
113
+ const policy = profile.contract?.review;
114
+ if (!policy) {
115
+ check(review.rule === 'operator-exact-candidate-v1' &&
116
+ review.reviewer === state.principal &&
117
+ review.authority === undefined, 'IA-ENGINE-REVIEW-INVALID', 'Review rule does not match the installed profile');
118
+ return review.expiresAt;
119
+ }
120
+ check(review.rule === policy.rule &&
121
+ review.reviewer === policy.reviewer &&
122
+ review.reviewer !== state.principal &&
123
+ review.authority?.mandate === policy.mandate &&
124
+ review.authority.policyRevision === policy.policyRevision &&
125
+ this.host.authorizeReview, 'IA-ENGINE-REVIEW-INVALID', 'Independent review identity, mandate or policy differs');
126
+ const timed = this.attemptSignal(state, run, undefined, 60000, signal);
127
+ const current = await bounded(() => this.host.authorizeReview(review.reviewer, this.manifest, copy(state), copy(review)), timed);
128
+ check(current.principal === review.reviewer &&
129
+ current.workspace === this.manifest.workspace &&
130
+ current.mandate === policy.mandate &&
131
+ current.policyRevision === policy.policyRevision &&
132
+ current.expiresAt > this.now() &&
133
+ review.expiresAt > this.now() &&
134
+ current.operations.includes(review.operation) &&
135
+ current.effects.includes(review.effect) &&
136
+ current.sources.includes(this.manifest.sourceDigest) &&
137
+ current.destinations.some((d) => digest(d) === digest(review.destination)), 'IA-ENGINE-AUTHORITY-DENIED', 'Current independent reviewer grant does not admit the exact operation, source and destination');
138
+ timed.throwIfAborted();
139
+ return Math.min(current.expiresAt, review.expiresAt);
140
+ }
106
141
  effectContext(state, run, profile, operation, action, grant, owner, id, invocationId, review, signal, reconciling = false) {
107
142
  // Keep a stable abort source in every signal derived for this attempt. A fresh grant
108
143
  // must stop an already-running adapter race, not merely replace its context property.
@@ -133,9 +168,12 @@ export class Engine {
133
168
  : attempt.status === 'prepared' || attempt.status === 'dispatched'), 'IA-ENGINE-BINDING-UNAVAILABLE', 'Prepared effect contract is unavailable');
134
169
  this.dispatchBudget(latest, active, current);
135
170
  operationAllowed(operation, profile, current);
136
- admittedReview(latest, active, operation, action, current, this.now(), id);
171
+ const currentReview = admittedReview(latest, active, operation, action, current, this.now(), id);
172
+ const reviewExpiry = currentReview
173
+ ? await this.reviewAuthority(latest, active, profile, currentReview, context.signal)
174
+ : Infinity;
137
175
  context.grant = current;
138
- const ceiling = this.attemptSignal(latest, active, current, operation.timeoutMs, context.signal);
176
+ const ceiling = this.attemptSignal(latest, active, current, Math.min(operation.timeoutMs, reviewExpiry - this.now()), context.signal);
139
177
  if (ceiling.aborted)
140
178
  narrowed.abort(ceiling.reason);
141
179
  else
@@ -507,6 +545,7 @@ export class Engine {
507
545
  check(child &&
508
546
  profile.delegates.includes(child.id) &&
509
547
  child.operations.every((id) => profile.operations.includes(id)), 'IA-ENGINE-DELEGATION-DENIED', 'Delegate is unavailable or exceeds the parent operation boundary');
548
+ check(!profile.contract?.review || digest(child.contract?.review ?? null) === digest(profile.contract.review), 'IA-ENGINE-DELEGATION-DENIED', 'Delegate cannot drop or change independent reviewer authority');
510
549
  check(grant.profiles.includes(child.id), 'IA-ENGINE-AUTHORITY-DENIED', 'Current grant does not authorize this delegate');
511
550
  check(state.budget.children < grant.limits.children && run.depth < grant.limits.depth, 'IA-ENGINE-LIMIT-EXCEEDED', 'Current delegation limits exhausted');
512
551
  const edge = profile.contract?.delegation.find((d) => d.profile === child.id);
@@ -536,8 +575,9 @@ export class Engine {
536
575
  check(validateShape(operation.input, action.input), 'IA-ENGINE-INPUT-INVALID', 'Operation input failed its installed contract');
537
576
  this.limits(state, grant, 'operation', 0, run);
538
577
  const review = admittedReview(state, run, operation, action, grant, this.now());
578
+ const reviewExpiry = review ? await this.reviewAuthority(state, run, profile, review, signal) : Infinity;
539
579
  const retry = run.retryOf ? state.attempts[run.retryOf] : undefined;
540
- const id = randomUUID(), invocationId = retry?.invocationId ?? randomUUID(), timed = this.attemptSignal(state, run, grant, operation.timeoutMs, signal);
580
+ const id = randomUUID(), invocationId = retry?.invocationId ?? randomUUID(), timed = this.attemptSignal(state, run, grant, Math.min(operation.timeoutMs, reviewExpiry - this.now()), signal);
541
581
  const context = this.effectContext(state, run, profile, operation, action, grant, owner, id, invocationId, review, timed);
542
582
  await save({
543
583
  type: 'attempt.prepare',
@@ -560,9 +600,12 @@ export class Engine {
560
600
  const latest = await this.host.store.read(state.id), current = await this.grant(state.principal, latest, profile, run, timed);
561
601
  this.dispatchBudget(latest, run, current);
562
602
  operationAllowed(operation, profile, current);
563
- admittedReview(latest, run, operation, action, current, this.now(), id);
603
+ const currentReview = admittedReview(latest, run, operation, action, current, this.now(), id);
604
+ const currentReviewExpiry = currentReview
605
+ ? await this.reviewAuthority(latest, run, profile, currentReview, timed)
606
+ : Infinity;
564
607
  context.grant = current;
565
- context.signal = this.attemptSignal(latest, run, current, operation.timeoutMs, context.signal);
608
+ context.signal = this.attemptSignal(latest, run, current, Math.min(operation.timeoutMs, currentReviewExpiry - this.now()), context.signal);
566
609
  for (const id of this.checks(profile, 'before-effect')) {
567
610
  const result = await bounded(() => this.host.evaluate(id, json({ phase: 'before-effect', action, contract: run.contract ?? null }), current), context.signal);
568
611
  check(result.status === 'pass', 'IA-ENGINE-GOVERNANCE-DENIED', `Required evaluator ${id} did not pass`);
@@ -570,6 +613,8 @@ export class Engine {
570
613
  if (review)
571
614
  check(this.host.preflight &&
572
615
  (await bounded(() => this.host.preflight(operation, action.input, context), context.signal)), 'IA-ENGINE-DESTINATION-DENIED', 'Current destination/binding preflight is unavailable or denied');
616
+ if (currentReview)
617
+ await this.reviewAuthority(latest, run, profile, currentReview, context.signal);
573
618
  context.signal.throwIfAborted();
574
619
  await save({ type: 'attempt.dispatch', attemptId: id });
575
620
  await this.host.store.validate(owner);
@@ -631,6 +676,8 @@ export class Engine {
631
676
  };
632
677
  });
633
678
  const review = offerReview(state, run, profile, grant, this.manifest, action, this.now());
679
+ if (review)
680
+ review.expiresAt = Math.min(review.expiresAt, await this.reviewAuthority(state, run, profile, review, signal));
634
681
  const proposal = action.proposal === undefined
635
682
  ? undefined
636
683
  : {
@@ -1017,7 +1064,11 @@ export class Engine {
1017
1064
  async review(sessionId, principal, proposalId, revision, proposalDigest, accept, rationale, commandId) {
1018
1065
  const state = await this.host.store.read(sessionId), proposal = state.proposals[proposalId];
1019
1066
  check(proposal && (proposal.review?.reviewer ?? state.principal) === principal, 'IA-ENGINE-AUTHORITY-DENIED', 'Proposal is unavailable to this reviewer');
1020
- const run = state.runs[proposal.runId], grant = await this.grant(principal, state, this.manifest.profiles[run.profile], run);
1067
+ const run = state.runs[proposal.runId], profile = this.manifest.profiles[run.profile];
1068
+ // Reviewers never receive the writer's session-owner path. Both authorities must remain current.
1069
+ const grant = await this.grant(profile.contract?.review ? state.principal : principal, state, profile, run);
1070
+ if (proposal.review)
1071
+ await this.reviewAuthority(state, run, profile, proposal.review);
1021
1072
  if (proposal.review) {
1022
1073
  const binding = proposal.review, operation = this.manifest.operations[binding.operation];
1023
1074
  operationAllowed(operation, this.manifest.profiles[run.profile], grant);
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,205 @@
1
+ {
2
+ "formatVersion": 1,
3
+ "engine": "^0.1.0",
4
+ "requests": [
5
+ {
6
+ "id": "inventarch/agent-composition-system",
7
+ "range": "1.1.0"
8
+ },
9
+ {
10
+ "id": "inventarch/agent-system",
11
+ "range": "1.1.0"
12
+ },
13
+ {
14
+ "id": "inventarch/authoring-system",
15
+ "range": "1.1.0"
16
+ },
17
+ {
18
+ "id": "inventarch/compliance-system",
19
+ "range": "1.1.0"
20
+ },
21
+ {
22
+ "id": "inventarch/governance-system",
23
+ "range": "1.1.0"
24
+ },
25
+ {
26
+ "id": "inventarch/hook-authoring-system",
27
+ "range": "1.1.0"
28
+ },
29
+ {
30
+ "id": "inventarch/learning-system",
31
+ "range": "1.1.0"
32
+ },
33
+ {
34
+ "id": "inventarch/session-system",
35
+ "range": "1.1.0"
36
+ },
37
+ {
38
+ "id": "inventarch/template-system",
39
+ "range": "1.1.0"
40
+ },
41
+ {
42
+ "id": "inventarch/work-system",
43
+ "range": "1.1.0"
44
+ },
45
+ {
46
+ "id": "inventarch/workspace-system",
47
+ "range": "1.1.0"
48
+ }
49
+ ],
50
+ "packages": [
51
+ {
52
+ "id": "inventarch/agent-composition-system",
53
+ "version": "1.1.0",
54
+ "archive": "7509000446e4fef116d8b0a7efb33bbe4821b2b2dd85cdd34387829fb03a2dca",
55
+ "manifest": "b9c4b622c32d02f12bb476540c943ceda21c583165938b387cce32ae7896d863",
56
+ "location": "sha256:7509000446e4fef116d8b0a7efb33bbe4821b2b2dd85cdd34387829fb03a2dca",
57
+ "dependencies": [
58
+ "inventarch/agent-system",
59
+ "inventarch/authoring-system",
60
+ "inventarch/compliance-system",
61
+ "inventarch/governance-system",
62
+ "inventarch/template-system",
63
+ "inventarch/workspace-system"
64
+ ]
65
+ },
66
+ {
67
+ "id": "inventarch/agent-system",
68
+ "version": "1.1.0",
69
+ "archive": "4dda72a953771796bb6873cc911c3bbb3da6d4b99f88ec03d3e0bd4ece30051c",
70
+ "manifest": "d6e73d3e46e52c4bbd420a8d2a157308c11308e1fa1d2ef21f6236f428777c39",
71
+ "location": "sha256:4dda72a953771796bb6873cc911c3bbb3da6d4b99f88ec03d3e0bd4ece30051c",
72
+ "dependencies": [
73
+ "inventarch/workspace-system"
74
+ ]
75
+ },
76
+ {
77
+ "id": "inventarch/authoring-system",
78
+ "version": "1.1.0",
79
+ "archive": "f0526b5fa4a05d69e41b3ddee30c4e85e494922c6242e1f17904e19ba49b6b61",
80
+ "manifest": "0ff190269c50e9e185ccd4a3ada575afa307f8c1adc34e808a73ab3811274845",
81
+ "location": "sha256:f0526b5fa4a05d69e41b3ddee30c4e85e494922c6242e1f17904e19ba49b6b61",
82
+ "dependencies": [
83
+ "inventarch/agent-composition-system",
84
+ "inventarch/agent-system",
85
+ "inventarch/compliance-system",
86
+ "inventarch/governance-system",
87
+ "inventarch/hook-authoring-system",
88
+ "inventarch/learning-system",
89
+ "inventarch/session-system",
90
+ "inventarch/template-system",
91
+ "inventarch/work-system",
92
+ "inventarch/workspace-system"
93
+ ]
94
+ },
95
+ {
96
+ "id": "inventarch/compliance-system",
97
+ "version": "1.1.0",
98
+ "archive": "44b7191a3db98fd69ffeb52465448b1f766b3aba96e1098edd59ae08e377b039",
99
+ "manifest": "c5df5b9e2fbe3c8661f98aacba1bb4ea1aa991eeb1c50c42b75ce6181a679064",
100
+ "location": "sha256:44b7191a3db98fd69ffeb52465448b1f766b3aba96e1098edd59ae08e377b039",
101
+ "dependencies": [
102
+ "inventarch/agent-system",
103
+ "inventarch/workspace-system"
104
+ ]
105
+ },
106
+ {
107
+ "id": "inventarch/governance-system",
108
+ "version": "1.1.0",
109
+ "archive": "dbd2f4371e83327302cd4bab314e092bf15fc6076f4d11e0459d769ac3e464d8",
110
+ "manifest": "df112798779ada8aee433f29e181e99bb9ef69f2c5231f3e1108a8a07642f02b",
111
+ "location": "sha256:dbd2f4371e83327302cd4bab314e092bf15fc6076f4d11e0459d769ac3e464d8",
112
+ "dependencies": [
113
+ "inventarch/agent-system",
114
+ "inventarch/compliance-system",
115
+ "inventarch/workspace-system"
116
+ ]
117
+ },
118
+ {
119
+ "id": "inventarch/hook-authoring-system",
120
+ "version": "1.1.0",
121
+ "archive": "58f2513acc858dd8d106ff0f8a1e3b09d257319b855cdc46f868b49d78ef7421",
122
+ "manifest": "6c156a77fdadeda0c3ab2a5ebe0ef708e5f43f21277c40f7e94769562dc833e6",
123
+ "location": "sha256:58f2513acc858dd8d106ff0f8a1e3b09d257319b855cdc46f868b49d78ef7421",
124
+ "dependencies": [
125
+ "inventarch/agent-system",
126
+ "inventarch/authoring-system",
127
+ "inventarch/compliance-system",
128
+ "inventarch/governance-system",
129
+ "inventarch/workspace-system"
130
+ ]
131
+ },
132
+ {
133
+ "id": "inventarch/learning-system",
134
+ "version": "1.1.0",
135
+ "archive": "f95b35b7b5c3b86e63335128140bfa734609b540ec84f70e6131ae85fc36647e",
136
+ "manifest": "026cf7e5e9c86bb5a87c3a12519d5e4ed2b6ab094c8de6617de9293b5de6ec38",
137
+ "location": "sha256:f95b35b7b5c3b86e63335128140bfa734609b540ec84f70e6131ae85fc36647e",
138
+ "dependencies": [
139
+ "inventarch/agent-system",
140
+ "inventarch/authoring-system",
141
+ "inventarch/compliance-system",
142
+ "inventarch/governance-system",
143
+ "inventarch/workspace-system"
144
+ ]
145
+ },
146
+ {
147
+ "id": "inventarch/session-system",
148
+ "version": "1.1.0",
149
+ "archive": "e5db8700dde952c48e54b3d7f8949db1321a5748419f499bfabc39a098cac150",
150
+ "manifest": "cbede1b0213363fe1ea745c949138dcd36249fceb26347e7ea9c8f72984c377f",
151
+ "location": "sha256:e5db8700dde952c48e54b3d7f8949db1321a5748419f499bfabc39a098cac150",
152
+ "dependencies": [
153
+ "inventarch/agent-system",
154
+ "inventarch/governance-system",
155
+ "inventarch/workspace-system"
156
+ ]
157
+ },
158
+ {
159
+ "id": "inventarch/template-system",
160
+ "version": "1.1.0",
161
+ "archive": "14a989e352de6806e091f5d3abb2b8d7829577324323b6d6f709aba6edce47bb",
162
+ "manifest": "4f6b5500da87b4dac32f5d07e3b57ebc3cb51575f89b936ed05d81df1fd9503c",
163
+ "location": "sha256:14a989e352de6806e091f5d3abb2b8d7829577324323b6d6f709aba6edce47bb",
164
+ "dependencies": [
165
+ "inventarch/agent-system",
166
+ "inventarch/authoring-system",
167
+ "inventarch/compliance-system",
168
+ "inventarch/governance-system",
169
+ "inventarch/workspace-system"
170
+ ]
171
+ },
172
+ {
173
+ "id": "inventarch/work-system",
174
+ "version": "1.1.0",
175
+ "archive": "1e44a777ea0db1538968d07b48484a93dc0d81840cab14e75db58a1bbec9c98a",
176
+ "manifest": "b40fd93ea6bc11a08493b45ccd48692c36c0e9f125eae565603e6664b3e55969",
177
+ "location": "sha256:1e44a777ea0db1538968d07b48484a93dc0d81840cab14e75db58a1bbec9c98a",
178
+ "dependencies": [
179
+ "inventarch/agent-system",
180
+ "inventarch/compliance-system",
181
+ "inventarch/governance-system",
182
+ "inventarch/workspace-system"
183
+ ]
184
+ },
185
+ {
186
+ "id": "inventarch/workspace-system",
187
+ "version": "1.1.0",
188
+ "archive": "14b88e626ae8112ee2694d6cc721a30bc47aa106dcdda61909f65d4a01792624",
189
+ "manifest": "bebf99a8d438249a078c43327738c5d3f3a428b233be58cdb9a384ed67dbcfce",
190
+ "location": "sha256:14b88e626ae8112ee2694d6cc721a30bc47aa106dcdda61909f65d4a01792624",
191
+ "dependencies": [
192
+ "inventarch/agent-composition-system",
193
+ "inventarch/agent-system",
194
+ "inventarch/authoring-system",
195
+ "inventarch/compliance-system",
196
+ "inventarch/governance-system",
197
+ "inventarch/hook-authoring-system",
198
+ "inventarch/learning-system",
199
+ "inventarch/session-system",
200
+ "inventarch/template-system",
201
+ "inventarch/work-system"
202
+ ]
203
+ }
204
+ ]
205
+ }
Binary file
@@ -0,0 +1,253 @@
1
+ {
2
+ "format": "ia.system-package.v2",
3
+ "kind": "compiled",
4
+ "package": {
5
+ "name": "@inventarch/agent-system",
6
+ "version": "1.1.1",
7
+ "manifestSha256": "558a20fba7d8920b46ba3bdaf1c21c910ae3ca6363e7651f10baf34ef085d010"
8
+ },
9
+ "system": {
10
+ "name": "agent-system",
11
+ "path": ".ia/src/systems/agent-system",
12
+ "provider": "inventarch.foundation",
13
+ "version": "1.1.0"
14
+ },
15
+ "payload": {
16
+ "digest": "450b12d9cb1d315910b807b0bf1dce54c856b769ee1f9a715dc42c34eed1cf4c",
17
+ "files": [
18
+ {
19
+ "path": "LANGUAGE.md",
20
+ "sha256": "ffd57fcd8480b0734ac5aa86df49f203d48e538b254924dc9d837c22a3d49ee1"
21
+ },
22
+ {
23
+ "path": "LICENSE",
24
+ "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30"
25
+ },
26
+ {
27
+ "path": "NOTICE",
28
+ "sha256": "6e0c20ac50ad924c178e12f09e01c736b865d39e7543f15ebba05842b33d8a1d"
29
+ },
30
+ {
31
+ "path": "README.md",
32
+ "sha256": "40d7aa71972aa0c5e5195a319b3594c5f20fc45444817b30229f81bc2d5ab337"
33
+ },
34
+ {
35
+ "path": "SPEC.md",
36
+ "sha256": "b938032174da02789a9b8def370b4b2ae5ae79e749aa4bf6e4873de21eb51d13"
37
+ },
38
+ {
39
+ "path": "dist/action.d.ts",
40
+ "sha256": "aa39084efa0615a1e150a9e6d09452ffedbdb054b58f6464a720ed8f7fc2dbe2"
41
+ },
42
+ {
43
+ "path": "dist/action.d.ts.map",
44
+ "sha256": "f257fab9870b6c65b0ec4ae9ec9a0b7ed4b6c1c2d5ced9e37399c47a569ccda7"
45
+ },
46
+ {
47
+ "path": "dist/action.js",
48
+ "sha256": "8f3c10f12801a9163f650de98a71e94006caef244403aeaa9afe1e922bcc9b7b"
49
+ },
50
+ {
51
+ "path": "dist/action.js.map",
52
+ "sha256": "f478694809c9fe8dc4e4d4e9bf1ed745a08179e21f6a1f933041654e26400d9b"
53
+ },
54
+ {
55
+ "path": "dist/contracts.d.ts",
56
+ "sha256": "8a79cae308bb94057f39fff3fb335aad3193cb417d5738ecd1b32ec38b7db788"
57
+ },
58
+ {
59
+ "path": "dist/contracts.d.ts.map",
60
+ "sha256": "2a752d64e196d855c9422e7247a9712216cb9fe4d0aac0ea6e5fb5dfa5e159af"
61
+ },
62
+ {
63
+ "path": "dist/contracts.js",
64
+ "sha256": "9b1061033893366c513020154125f9ec66d410163aad21bf6eac9ac75b9375a5"
65
+ },
66
+ {
67
+ "path": "dist/contracts.js.map",
68
+ "sha256": "d445a2199a56c11f527a68c6cd999bbb01185e6feb361ce06d0004215ecd248e"
69
+ },
70
+ {
71
+ "path": "dist/engine.d.ts",
72
+ "sha256": "d82c7a865399f2b414e08739aad4efeff29e614688e2b86fea92820206342463"
73
+ },
74
+ {
75
+ "path": "dist/engine.d.ts.map",
76
+ "sha256": "a4e7824177723b9205371fa206954443aedae115093daac1d382cbf590522c56"
77
+ },
78
+ {
79
+ "path": "dist/engine.js",
80
+ "sha256": "973809846c906bc7d76f2601d6592aaed3b4b4c4ece7898970aa8ee2efc2f5d5"
81
+ },
82
+ {
83
+ "path": "dist/engine.js.map",
84
+ "sha256": "5a2e4722fdff9cc662c46a8db01ac755e783024ee68838fe9bf1aff92e86628b"
85
+ },
86
+ {
87
+ "path": "dist/index.d.ts",
88
+ "sha256": "71710fcbcda7dbfc2de5d6057a6a10e9b791233127af3f50d930f2a8fbcef34d"
89
+ },
90
+ {
91
+ "path": "dist/index.d.ts.map",
92
+ "sha256": "5727c19256e218f79551e191571d7a30ecd23a94acc1f23ab597785f20b15506"
93
+ },
94
+ {
95
+ "path": "dist/index.js",
96
+ "sha256": "414a7043a6a31d3855ccea49d16b640f1bf0ac3deb14dfd3401e44a935bdaa24"
97
+ },
98
+ {
99
+ "path": "dist/index.js.map",
100
+ "sha256": "d436c69a607b53a16582531e2d84ccce75e9da15dfe598f7e0a6416481d965a7"
101
+ },
102
+ {
103
+ "path": "dist/types.d.ts",
104
+ "sha256": "9de97f2a3b636c7850ac1cf586768006983761c803489ac0476916abeb8940ad"
105
+ },
106
+ {
107
+ "path": "dist/types.d.ts.map",
108
+ "sha256": "265757ed283f6d2706247f864623e26c42cadb9fd73bd8d8540daa3df5f285a2"
109
+ },
110
+ {
111
+ "path": "dist/types.js",
112
+ "sha256": "85229481e865e7f3816310feaa411b8dd1ecda1650808ef5fa044ff5d2ee1a53"
113
+ },
114
+ {
115
+ "path": "dist/types.js.map",
116
+ "sha256": "86854167ab2908020d325ae2494e379275ec4187ee57f5e17511bee135505246"
117
+ }
118
+ ]
119
+ },
120
+ "native": {
121
+ "path": "dist/native.ia.tgz",
122
+ "archiveSha256": "4dda72a953771796bb6873cc911c3bbb3da6d4b99f88ec03d3e0bd4ece30051c",
123
+ "manifestSha256": "d6e73d3e46e52c4bbd420a8d2a157308c11308e1fa1d2ef21f6236f428777c39",
124
+ "id": "inventarch/agent-system",
125
+ "version": "1.1.0",
126
+ "selection": {
127
+ "path": "dist/native-selection.json",
128
+ "sha256": "de698a73336bb52f8d2bff37e2bf549b0d5d9117c23320b88fcb458b6de5ce14"
129
+ }
130
+ },
131
+ "code": {
132
+ "digest": "eeef2e9ec5edc0c22054fae7c0c45521b81169c023afb8be1782378eb4ef576e",
133
+ "files": [
134
+ {
135
+ "path": "dist/action.d.ts",
136
+ "sha256": "aa39084efa0615a1e150a9e6d09452ffedbdb054b58f6464a720ed8f7fc2dbe2"
137
+ },
138
+ {
139
+ "path": "dist/action.d.ts.map",
140
+ "sha256": "f257fab9870b6c65b0ec4ae9ec9a0b7ed4b6c1c2d5ced9e37399c47a569ccda7"
141
+ },
142
+ {
143
+ "path": "dist/action.js",
144
+ "sha256": "8f3c10f12801a9163f650de98a71e94006caef244403aeaa9afe1e922bcc9b7b"
145
+ },
146
+ {
147
+ "path": "dist/action.js.map",
148
+ "sha256": "f478694809c9fe8dc4e4d4e9bf1ed745a08179e21f6a1f933041654e26400d9b"
149
+ },
150
+ {
151
+ "path": "dist/contracts.d.ts",
152
+ "sha256": "8a79cae308bb94057f39fff3fb335aad3193cb417d5738ecd1b32ec38b7db788"
153
+ },
154
+ {
155
+ "path": "dist/contracts.d.ts.map",
156
+ "sha256": "2a752d64e196d855c9422e7247a9712216cb9fe4d0aac0ea6e5fb5dfa5e159af"
157
+ },
158
+ {
159
+ "path": "dist/contracts.js",
160
+ "sha256": "9b1061033893366c513020154125f9ec66d410163aad21bf6eac9ac75b9375a5"
161
+ },
162
+ {
163
+ "path": "dist/contracts.js.map",
164
+ "sha256": "d445a2199a56c11f527a68c6cd999bbb01185e6feb361ce06d0004215ecd248e"
165
+ },
166
+ {
167
+ "path": "dist/engine.d.ts",
168
+ "sha256": "d82c7a865399f2b414e08739aad4efeff29e614688e2b86fea92820206342463"
169
+ },
170
+ {
171
+ "path": "dist/engine.d.ts.map",
172
+ "sha256": "a4e7824177723b9205371fa206954443aedae115093daac1d382cbf590522c56"
173
+ },
174
+ {
175
+ "path": "dist/engine.js",
176
+ "sha256": "973809846c906bc7d76f2601d6592aaed3b4b4c4ece7898970aa8ee2efc2f5d5"
177
+ },
178
+ {
179
+ "path": "dist/engine.js.map",
180
+ "sha256": "5a2e4722fdff9cc662c46a8db01ac755e783024ee68838fe9bf1aff92e86628b"
181
+ },
182
+ {
183
+ "path": "dist/index.d.ts",
184
+ "sha256": "71710fcbcda7dbfc2de5d6057a6a10e9b791233127af3f50d930f2a8fbcef34d"
185
+ },
186
+ {
187
+ "path": "dist/index.d.ts.map",
188
+ "sha256": "5727c19256e218f79551e191571d7a30ecd23a94acc1f23ab597785f20b15506"
189
+ },
190
+ {
191
+ "path": "dist/index.js",
192
+ "sha256": "414a7043a6a31d3855ccea49d16b640f1bf0ac3deb14dfd3401e44a935bdaa24"
193
+ },
194
+ {
195
+ "path": "dist/index.js.map",
196
+ "sha256": "d436c69a607b53a16582531e2d84ccce75e9da15dfe598f7e0a6416481d965a7"
197
+ },
198
+ {
199
+ "path": "dist/types.d.ts",
200
+ "sha256": "9de97f2a3b636c7850ac1cf586768006983761c803489ac0476916abeb8940ad"
201
+ },
202
+ {
203
+ "path": "dist/types.d.ts.map",
204
+ "sha256": "265757ed283f6d2706247f864623e26c42cadb9fd73bd8d8540daa3df5f285a2"
205
+ },
206
+ {
207
+ "path": "dist/types.js",
208
+ "sha256": "85229481e865e7f3816310feaa411b8dd1ecda1650808ef5fa044ff5d2ee1a53"
209
+ },
210
+ {
211
+ "path": "dist/types.js.map",
212
+ "sha256": "86854167ab2908020d325ae2494e379275ec4187ee57f5e17511bee135505246"
213
+ }
214
+ ]
215
+ },
216
+ "entrypoints": {
217
+ ".": {
218
+ "types": "./dist/index.d.ts",
219
+ "default": "./dist/index.js"
220
+ },
221
+ "./internal/action": {
222
+ "types": "./dist/action.d.ts",
223
+ "default": "./dist/action.js"
224
+ },
225
+ "./internal/contracts": {
226
+ "types": "./dist/contracts.d.ts",
227
+ "default": "./dist/contracts.js"
228
+ },
229
+ "./internal/engine": {
230
+ "types": "./dist/engine.d.ts",
231
+ "default": "./dist/engine.js"
232
+ },
233
+ "./internal/index": {
234
+ "types": "./dist/index.d.ts",
235
+ "default": "./dist/index.js"
236
+ },
237
+ "./internal/types": {
238
+ "types": "./dist/types.d.ts",
239
+ "default": "./dist/types.js"
240
+ }
241
+ },
242
+ "dependencies": {
243
+ "@inventarch/session-system": "1.1.1",
244
+ "@inventarch/workspace-system": "1.1.1"
245
+ },
246
+ "protocols": {
247
+ "distribution": 1,
248
+ "language": [
249
+ "1.0"
250
+ ],
251
+ "binding": 2
252
+ }
253
+ }
package/dist/types.d.ts CHANGED
@@ -5,7 +5,26 @@ export type OutcomeKind = 'answer' | 'deliverable' | 'clarification' | 'proposal
5
5
  export type ResourceLimits = Partial<Omit<Limits, 'deadline'>> & {
6
6
  durationMs?: number;
7
7
  };
8
+ export interface IndependentReviewPolicy {
9
+ rule: 'independent-exact-candidate-v1';
10
+ reviewer: string;
11
+ mandate: string;
12
+ policyRevision: string;
13
+ }
14
+ /** Issued by trusted host authorization, never by model output or caller-supplied role labels. */
15
+ export interface ReviewGrant {
16
+ principal: string;
17
+ workspace: string;
18
+ mandate: string;
19
+ policyRevision: string;
20
+ expiresAt: number;
21
+ operations: string[];
22
+ effects: ('local-write' | 'external-write')[];
23
+ sources: string[];
24
+ destinations: Json[];
25
+ }
8
26
  export interface ExecutionContract {
27
+ review?: IndependentReviewPolicy;
9
28
  /** Pinned structural request ceiling; cumulative token accounting remains independent. */
10
29
  requestBytes?: number;
11
30
  id: string;
@@ -209,6 +228,8 @@ export interface EngineHost {
209
228
  model: ModelAdapter;
210
229
  operations: Readonly<Record<string, OperationAdapter>>;
211
230
  authorize(principal: string, manifest: Manifest, session: Session | null): Promise<Grant>;
231
+ /** Current review authority for an identity authenticated by the host. Does not grant session ownership or write authority. */
232
+ authorizeReview?(principal: string, manifest: Manifest, session: Session, review: ReviewContract): Promise<ReviewGrant>;
212
233
  /** Explicit fresh authority for a bounded human-wait renewal; ordinary grants never renew. */
213
234
  authorizeRenewal?(principal: string, manifest: Manifest, session: Session): Promise<Grant>;
214
235
  context(profile: Profile, task: Json, grant: Grant, budget?: ContextBudget): Promise<Json>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,MAAM,EACN,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,cAAc,EACd,KAAK,EACN,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,2BAA2B,SAAU,CAAC;AACnD,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AACd,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACzF,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,gCAAgC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AACD,kGAAkG;AAClG,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,IAAI,EAAE,CAAC;CACtB;AACD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,0FAA0F;IAC1F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;IAC/C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,EAAE,CAAC;IAC1D,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,eAAe,GAAG,YAAY,CAAC,EAAE,CAAA;KAAE,EAAE,CAAC;IACrE,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;CACnB;AACD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,EAAE,uBAAuB,CAAC;IACpC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC;AACD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AACD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACvD,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,IAAI,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AACD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,CAAC,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,UAAU,EAAE,IAAI,CAAC;CAClB;AACD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACvD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;CACvB;AACD,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrC;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACvF,GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACjD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,GAAG,MAAM,CAAC;IACnG,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACvE,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,IAAI,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,CAAC;AACN,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACnG;AACD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACvG,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AACD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1E,SAAS,CAAC,CACR,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC;QAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC3F;AACD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,gGAAgG;AAChG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1F,+HAA+H;IAC/H,eAAe,CAAC,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,8FAA8F;IAC9F,gBAAgB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3F,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrE,4FAA4F;IAC5F,SAAS,CAAC,CAAC,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrG,GAAG,CAAC,IAAI,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inventarch/agent-system",
3
- "version": "1.0.0",
3
+ "version": "1.1.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -35,10 +35,12 @@
35
35
  "README.md",
36
36
  "SPEC.md",
37
37
  "LICENSE",
38
- "NOTICE"
38
+ "NOTICE",
39
+ "LANGUAGE.md"
39
40
  ],
40
41
  "dependencies": {
41
- "@inventarch/session-system": "1.0.0"
42
+ "@inventarch/session-system": "1.1.1",
43
+ "@inventarch/workspace-system": "1.1.1"
42
44
  },
43
45
  "devDependencies": {
44
46
  "@types/node": "^22.19.0",
@@ -46,13 +48,13 @@
46
48
  "vitest": "^4.1.4"
47
49
  },
48
50
  "license": "Apache-2.0",
51
+ "engines": {
52
+ "node": ">=22.22.0 <23"
53
+ },
49
54
  "publishConfig": {
50
55
  "access": "public",
51
56
  "registry": "https://registry.npmjs.org"
52
57
  },
53
- "engines": {
54
- "node": ">=22.22.0 <23"
55
- },
56
58
  "repository": {
57
59
  "type": "git",
58
60
  "url": "git+https://github.com/inventarch/ia.git",