@nifrajs/agent-app 3.3.0 → 4.0.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.
@@ -9,7 +9,9 @@
9
9
  * boundary: an upstream consumer sees enough to render progress and resolve interactions, and nothing
10
10
  * it could use to reconstruct a payload.
11
11
  */
12
- import { nextApprovalState, nextHandoffState, } from "@nifrajs/agent-protocol";
12
+ import { isAgentEvent, nextApprovalState, nextHandoffState, } from "@nifrajs/agent-protocol";
13
+ /** Code-unit order, the same in every locale, so a view lists the same ids in the same order everywhere. */
14
+ const byCodeUnit = (a, b) => (a < b ? -1 : a > b ? 1 : 0);
13
15
  export function toSessionView(snapshot) {
14
16
  return Object.freeze({
15
17
  id: snapshot.id,
@@ -27,6 +29,11 @@ export function toSessionView(snapshot) {
27
29
  }
28
30
  /** Project one protocol event to its content-free view. Total over the event union - never returns undefined. */
29
31
  export function toEventView(event) {
32
+ // Keep this boundary total even when a caller bypasses the transport's parser with an
33
+ // untrusted cast. The protocol validator is discriminated and bounded; throwing only this
34
+ // generic message prevents malformed payloads from reaching content projections or error text.
35
+ if (!isAgentEvent(event))
36
+ throw new TypeError("agent event is invalid");
30
37
  const base = { seq: event.seq, at: event.at };
31
38
  switch (event.type) {
32
39
  case "session.started":
@@ -236,9 +243,12 @@ const HANDOFF_STATES = new Set([
236
243
  /** UI verbs per boundary kind, in display order. `cancel` is shared; a numeric level never appears. */
237
244
  const APPROVAL_UI_OPS = ["approve", "deny", "cancel"];
238
245
  const HANDOFF_UI_OPS = ["assign", "resolve", "cancel"];
239
- /** True once `now` reaches or passes the boundary's expiry. A stale boundary fails every command closed. */
246
+ /**
247
+ * True once `now` reaches or passes the boundary's expiry, or when either is not a number. A stale
248
+ * boundary fails every command closed.
249
+ */
240
250
  export function boundaryIsStale(item, now) {
241
- return now >= item.expiresAt;
251
+ return !(now < item.expiresAt);
242
252
  }
243
253
  /**
244
254
  * The boundary commands a UI may currently offer for one item. A command appears only when the host
@@ -416,6 +426,7 @@ export function toRunStudioView(value) {
416
426
  if (value.replayRef !== undefined && !studioToken(value.replayRef))
417
427
  return undefined;
418
428
  const nodes = [];
429
+ const seen = new Set();
419
430
  for (const raw of value.nodes) {
420
431
  if (!studioRecord(raw) ||
421
432
  !studioSafeKeys(raw, new Set([
@@ -430,6 +441,7 @@ export function toRunStudioView(value) {
430
441
  ])))
431
442
  return undefined;
432
443
  if (!studioToken(raw.nodeId) ||
444
+ seen.has(raw.nodeId) ||
433
445
  !Array.isArray(raw.dependsOn) ||
434
446
  !raw.dependsOn.every(studioToken) ||
435
447
  typeof raw.state !== "string" ||
@@ -440,6 +452,7 @@ export function toRunStudioView(value) {
440
452
  typeof raw.cancelled !== "boolean" ||
441
453
  typeof raw.recovered !== "boolean")
442
454
  return undefined;
455
+ seen.add(raw.nodeId);
443
456
  nodes.push(Object.freeze({
444
457
  nodeId: raw.nodeId,
445
458
  dependsOn: Object.freeze([...raw.dependsOn].sort()),
@@ -451,7 +464,7 @@ export function toRunStudioView(value) {
451
464
  recovered: raw.recovered,
452
465
  }));
453
466
  }
454
- nodes.sort((a, b) => a.nodeId.localeCompare(b.nodeId));
467
+ nodes.sort((a, b) => byCodeUnit(a.nodeId, b.nodeId));
455
468
  return Object.freeze({
456
469
  runId: value.runId,
457
470
  planId: value.planId,
@@ -576,4 +589,442 @@ export function virtualizeEvidenceRows(rows, cursor, windowSize = 100) {
576
589
  const offset = Math.min(Math.max(0, cursor - Math.floor(windowSize / 2)), Math.max(0, rows.length - windowSize));
577
590
  return Object.freeze({ offset, rows: Object.freeze(rows.slice(offset, offset + windowSize)) });
578
591
  }
592
+ const REVIEW_VIEW_CODE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
593
+ const REVIEW_VIEW_TOKEN = /^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/;
594
+ const REVIEW_VIEW_DIGEST = /^[0-9a-f]{64}$/;
595
+ const REVIEW_VIEW_ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;
596
+ const REVIEW_VIEW_EVIDENCE_SOURCES = new Set([
597
+ "check",
598
+ "assurance",
599
+ "capability",
600
+ "manifest",
601
+ "contract",
602
+ "coverage",
603
+ "git-scope",
604
+ "collector",
605
+ ]);
606
+ const REVIEW_VIEW_REASONS = new Set([
607
+ "not-configured",
608
+ "config-missing",
609
+ "config-invalid",
610
+ "collector-error",
611
+ "collector-unavailable",
612
+ "diagnostics-truncated",
613
+ "missing-typescript",
614
+ "invalid-target",
615
+ "invalid-git-ref",
616
+ "invalid-git-scope",
617
+ "filtered-out-of-scope",
618
+ "fix-failed",
619
+ "fix-no-op",
620
+ "unsupported",
621
+ ]);
622
+ const REVIEW_VIEW_FIX_RECIPES = new Set(["manifest.sync", "workspace-dist.rebuild"]);
623
+ const REVIEW_VIEW_FIX_STATUSES = new Set(["planned", "changed", "no-op", "failed"]);
624
+ const REVIEW_VIEW_RPC_ERRORS = new Set([
625
+ "timeout",
626
+ "output-truncated",
627
+ "invalid-report",
628
+ "spawn-failed",
629
+ ]);
630
+ const REVIEW_VIEW_CHECKS = new Set([
631
+ "typecheck",
632
+ "typed-client",
633
+ "server-boundary",
634
+ "route-boundary",
635
+ "pipeline",
636
+ "security",
637
+ "route-assurance",
638
+ "capability-provenance",
639
+ "manifest",
640
+ "dependency",
641
+ "contract-witness",
642
+ "coverage",
643
+ "hydration",
644
+ "configuration",
645
+ ]);
646
+ const REVIEW_VIEW_STATUSES = new Set(["pass", "fail", "skipped", "unavailable", "error"]);
647
+ const REVIEW_VIEW_SEVERITIES = new Set(["error", "warning", "info"]);
648
+ const REVIEW_VIEW_CATEGORIES = new Set([
649
+ "correctness",
650
+ "security",
651
+ "boundary",
652
+ "assurance",
653
+ "capability",
654
+ "contract",
655
+ "dependency",
656
+ "hydration",
657
+ "coverage",
658
+ "configuration",
659
+ "operational",
660
+ ]);
661
+ const REVIEW_VIEW_FORBIDDEN = new Set([
662
+ "prompt",
663
+ "message",
664
+ "text",
665
+ "input",
666
+ "output",
667
+ "arguments",
668
+ "body",
669
+ "response",
670
+ "secret",
671
+ "credential",
672
+ "diagnostic",
673
+ "stack",
674
+ "content",
675
+ "transcript",
676
+ "request",
677
+ "payload",
678
+ ]);
679
+ function reviewViewRecord(value) {
680
+ return typeof value === "object" && value !== null && !Array.isArray(value);
681
+ }
682
+ function reviewViewSafeKeys(value, allowed) {
683
+ return Object.keys(value).every((key) => !REVIEW_VIEW_FORBIDDEN.has(key.toLowerCase()) && allowed.has(key));
684
+ }
685
+ function reviewViewEvidence(value) {
686
+ if (!reviewViewRecord(value))
687
+ return false;
688
+ return (reviewViewSafeKeys(value, new Set(["source", "token", "digest", "path"])) &&
689
+ typeof value.source === "string" &&
690
+ REVIEW_VIEW_EVIDENCE_SOURCES.has(value.source) &&
691
+ typeof value.token === "string" &&
692
+ REVIEW_VIEW_TOKEN.test(value.token) &&
693
+ typeof value.digest === "string" &&
694
+ REVIEW_VIEW_DIGEST.test(value.digest) &&
695
+ (value.path === undefined || reviewViewPath(value.path)));
696
+ }
697
+ function reviewViewReason(value) {
698
+ return typeof value === "string" && REVIEW_VIEW_REASONS.has(value);
699
+ }
700
+ function reviewViewPath(value) {
701
+ return (typeof value === "string" &&
702
+ value.length > 0 &&
703
+ value.length <= 1024 &&
704
+ !value.includes("\\") &&
705
+ !value.includes("\u0000") &&
706
+ !value.startsWith("/") &&
707
+ !/^[A-Za-z]:/.test(value) &&
708
+ value.split("/").every((part) => part.length > 0 && part !== "." && part !== ".."));
709
+ }
710
+ function reviewViewInt(value, min = 0) {
711
+ return typeof value === "number" && Number.isSafeInteger(value) && value >= min;
712
+ }
713
+ function reviewUnavailableView(processStatus, reasonCode) {
714
+ return Object.freeze({
715
+ version: 1,
716
+ status: "unavailable",
717
+ ok: false,
718
+ strict: false,
719
+ blocking: 0,
720
+ processStatus,
721
+ reasonCode,
722
+ checks: Object.freeze([]),
723
+ findings: Object.freeze([]),
724
+ fixes: Object.freeze([]),
725
+ });
726
+ }
727
+ function parseReviewViewReport(value) {
728
+ if (!reviewViewSafeKeys(value, new Set([
729
+ "version",
730
+ "strict",
731
+ "scope",
732
+ "checks",
733
+ "findings",
734
+ "fixes",
735
+ "blocking",
736
+ "ok",
737
+ "status",
738
+ "digest",
739
+ ])) ||
740
+ value.version !== 1 ||
741
+ typeof value.strict !== "boolean" ||
742
+ (value.status !== "pass" && value.status !== "fail" && value.status !== "inconclusive") ||
743
+ typeof value.ok !== "boolean" ||
744
+ value.ok !== (value.status === "pass") ||
745
+ !reviewViewInt(value.blocking) ||
746
+ typeof value.digest !== "string" ||
747
+ !REVIEW_VIEW_DIGEST.test(value.digest) ||
748
+ !Array.isArray(value.checks) ||
749
+ !Array.isArray(value.findings) ||
750
+ value.scope === undefined)
751
+ return undefined;
752
+ let scope;
753
+ if (value.scope !== undefined) {
754
+ if (!reviewViewRecord(value.scope) ||
755
+ !reviewViewSafeKeys(value.scope, new Set([
756
+ "kind",
757
+ "state",
758
+ "gitRef",
759
+ "changedPaths",
760
+ "pathDigest",
761
+ "outOfScopeCount",
762
+ "reasonCode",
763
+ ])) ||
764
+ (value.scope.kind !== "project" && value.scope.kind !== "diff") ||
765
+ (value.scope.state !== "valid" && value.scope.state !== "invalid") ||
766
+ !Array.isArray(value.scope.changedPaths) ||
767
+ !value.scope.changedPaths.every(reviewViewPath) ||
768
+ typeof value.scope.pathDigest !== "string" ||
769
+ !REVIEW_VIEW_DIGEST.test(value.scope.pathDigest) ||
770
+ !reviewViewInt(value.scope.outOfScopeCount))
771
+ return undefined;
772
+ if (value.scope.gitRef !== undefined && !REVIEW_VIEW_TOKEN.test(String(value.scope.gitRef)))
773
+ return undefined;
774
+ if (value.scope.state === "invalid") {
775
+ if (!reviewViewReason(value.scope.reasonCode))
776
+ return undefined;
777
+ }
778
+ else if (value.scope.reasonCode !== undefined)
779
+ return undefined;
780
+ scope = Object.freeze({
781
+ kind: value.scope.kind,
782
+ state: value.scope.state,
783
+ pathDigest: value.scope.pathDigest,
784
+ changedPathCount: value.scope.changedPaths.length,
785
+ outOfScopeCount: value.scope.outOfScopeCount,
786
+ });
787
+ }
788
+ if (value.checks.length > 512 || value.findings.length > 4096)
789
+ return undefined;
790
+ const checks = [];
791
+ const checkFindingIds = new Map();
792
+ for (const raw of value.checks) {
793
+ if (!reviewViewRecord(raw) ||
794
+ !reviewViewSafeKeys(raw, new Set([
795
+ "id",
796
+ "required",
797
+ "status",
798
+ "duration",
799
+ "counts",
800
+ "findingIds",
801
+ "evidence",
802
+ "reasonCode",
803
+ ])) ||
804
+ typeof raw.id !== "string" ||
805
+ !REVIEW_VIEW_CHECKS.has(raw.id) ||
806
+ checks.some((check) => check.id === raw.id) ||
807
+ typeof raw.required !== "boolean" ||
808
+ typeof raw.status !== "string" ||
809
+ !REVIEW_VIEW_STATUSES.has(raw.status) ||
810
+ !reviewViewRecord(raw.counts) ||
811
+ !reviewViewSafeKeys(raw.counts, new Set(["findings", "errors", "warnings", "info", "outOfScope"])) ||
812
+ !reviewViewInt(raw.counts.findings) ||
813
+ !reviewViewInt(raw.counts.errors) ||
814
+ !reviewViewInt(raw.counts.warnings) ||
815
+ !reviewViewInt(raw.counts.info) ||
816
+ !reviewViewInt(raw.counts.outOfScope) ||
817
+ !Array.isArray(raw.findingIds) ||
818
+ !raw.findingIds.every((id) => typeof id === "string" && REVIEW_VIEW_ID.test(id)) ||
819
+ new Set(raw.findingIds).size !== raw.findingIds.length ||
820
+ !Array.isArray(raw.evidence) ||
821
+ raw.evidence.length === 0 ||
822
+ raw.evidence.length > 1024 ||
823
+ !raw.evidence.every(reviewViewEvidence))
824
+ return undefined;
825
+ if (raw.status === "skipped") {
826
+ if (raw.required || raw.reasonCode !== "not-configured")
827
+ return undefined;
828
+ }
829
+ else if (raw.status === "unavailable" || raw.status === "error") {
830
+ if (!reviewViewReason(raw.reasonCode))
831
+ return undefined;
832
+ }
833
+ else if (raw.reasonCode !== undefined)
834
+ return undefined;
835
+ checkFindingIds.set(raw.id, [...raw.findingIds]);
836
+ checks.push(Object.freeze({
837
+ id: raw.id,
838
+ required: raw.required,
839
+ status: raw.status,
840
+ findings: raw.counts.findings,
841
+ errors: raw.counts.errors,
842
+ warnings: raw.counts.warnings,
843
+ info: raw.counts.info,
844
+ outOfScope: raw.counts.outOfScope,
845
+ ...(raw.reasonCode === undefined ? {} : { reasonCode: raw.reasonCode }),
846
+ }));
847
+ }
848
+ const findings = [];
849
+ const findingById = new Map();
850
+ for (const raw of value.findings) {
851
+ if (!reviewViewRecord(raw) ||
852
+ !reviewViewSafeKeys(raw, new Set(["id", "check", "code", "severity", "category", "location", "evidence", "fix"])) ||
853
+ typeof raw.id !== "string" ||
854
+ !REVIEW_VIEW_ID.test(raw.id) ||
855
+ findingById.has(raw.id) ||
856
+ typeof raw.check !== "string" ||
857
+ !REVIEW_VIEW_CHECKS.has(raw.check) ||
858
+ typeof raw.code !== "string" ||
859
+ !REVIEW_VIEW_CODE.test(raw.code) ||
860
+ typeof raw.severity !== "string" ||
861
+ !REVIEW_VIEW_SEVERITIES.has(raw.severity) ||
862
+ typeof raw.category !== "string" ||
863
+ !REVIEW_VIEW_CATEGORIES.has(raw.category) ||
864
+ !Array.isArray(raw.evidence) ||
865
+ raw.evidence.length === 0 ||
866
+ raw.evidence.length > 32)
867
+ return undefined;
868
+ let location;
869
+ if (raw.location !== undefined) {
870
+ if (!reviewViewRecord(raw.location) ||
871
+ !reviewViewSafeKeys(raw.location, new Set(["path", "line", "column"])) ||
872
+ !reviewViewPath(raw.location.path) ||
873
+ (raw.location.line !== undefined && !reviewViewInt(raw.location.line, 1)) ||
874
+ (raw.location.column !== undefined && !reviewViewInt(raw.location.column, 1)))
875
+ return undefined;
876
+ location = Object.freeze({
877
+ path: raw.location.path,
878
+ ...(raw.location.line === undefined ? {} : { line: raw.location.line }),
879
+ });
880
+ }
881
+ const evidence = [];
882
+ for (const rawEvidence of raw.evidence) {
883
+ if (!reviewViewEvidence(rawEvidence))
884
+ return undefined;
885
+ evidence.push(Object.freeze({
886
+ source: rawEvidence.source,
887
+ token: rawEvidence.token,
888
+ digest: rawEvidence.digest,
889
+ ...(rawEvidence.path === undefined ? {} : { path: rawEvidence.path }),
890
+ }));
891
+ }
892
+ let fix;
893
+ if (raw.fix !== undefined) {
894
+ if (!reviewViewRecord(raw.fix) ||
895
+ !reviewViewSafeKeys(raw.fix, new Set(["recipe"])) ||
896
+ typeof raw.fix.recipe !== "string" ||
897
+ !REVIEW_VIEW_FIX_RECIPES.has(raw.fix.recipe))
898
+ return undefined;
899
+ fix = Object.freeze({ recipe: raw.fix.recipe });
900
+ }
901
+ const finding = Object.freeze({
902
+ id: raw.id,
903
+ check: raw.check,
904
+ code: raw.code,
905
+ severity: raw.severity,
906
+ category: raw.category,
907
+ ...(location === undefined ? {} : { location }),
908
+ evidence: Object.freeze(evidence),
909
+ ...(fix === undefined ? {} : { fix }),
910
+ });
911
+ findings.push(finding);
912
+ findingById.set(finding.id, finding);
913
+ }
914
+ const fixes = [];
915
+ if (value.fixes !== undefined) {
916
+ if (!Array.isArray(value.fixes) || value.fixes.length > 256)
917
+ return undefined;
918
+ for (const raw of value.fixes) {
919
+ if (!reviewViewRecord(raw) ||
920
+ !reviewViewSafeKeys(raw, new Set(["recipe", "status", "changedPaths", "reasonCode"])) ||
921
+ typeof raw.recipe !== "string" ||
922
+ !REVIEW_VIEW_FIX_RECIPES.has(raw.recipe) ||
923
+ typeof raw.status !== "string" ||
924
+ !REVIEW_VIEW_FIX_STATUSES.has(raw.status) ||
925
+ (raw.changedPaths !== undefined &&
926
+ (!Array.isArray(raw.changedPaths) || !raw.changedPaths.every(reviewViewPath))))
927
+ return undefined;
928
+ if (raw.status === "no-op" || raw.status === "failed") {
929
+ if (!reviewViewReason(raw.reasonCode))
930
+ return undefined;
931
+ }
932
+ else if (raw.reasonCode !== undefined)
933
+ return undefined;
934
+ fixes.push(Object.freeze({
935
+ recipe: raw.recipe,
936
+ status: raw.status,
937
+ }));
938
+ }
939
+ }
940
+ const referenced = new Set();
941
+ for (const check of checks) {
942
+ const ids = checkFindingIds.get(check.id) ?? [];
943
+ const ownFindings = findings.filter((finding) => finding.check === check.id);
944
+ if (ownFindings.length !== ids.length ||
945
+ check.findings !== ownFindings.length ||
946
+ check.errors !== ownFindings.filter((finding) => finding.severity === "error").length ||
947
+ check.warnings !== ownFindings.filter((finding) => finding.severity === "warning").length ||
948
+ check.info !== ownFindings.filter((finding) => finding.severity === "info").length)
949
+ return undefined;
950
+ for (const id of ids) {
951
+ const finding = findingById.get(id);
952
+ if (finding === undefined || finding.check !== check.id || referenced.has(id))
953
+ return undefined;
954
+ referenced.add(id);
955
+ }
956
+ }
957
+ if (referenced.size !== findings.length)
958
+ return undefined;
959
+ const errorCount = findings.filter((finding) => finding.severity === "error").length;
960
+ const warningCount = findings.filter((finding) => finding.severity === "warning").length;
961
+ const unresolvedFixes = fixes.filter((fix) => fix.status === "no-op" || fix.status === "failed").length;
962
+ const expectedBlocking = errorCount + (value.strict ? warningCount : 0) + unresolvedFixes;
963
+ const expectedInconclusive = value.scope.state === "invalid" ||
964
+ checks.some((check) => check.required && (check.status === "unavailable" || check.status === "error"));
965
+ const expectedStatus = expectedInconclusive
966
+ ? "inconclusive"
967
+ : expectedBlocking > 0
968
+ ? "fail"
969
+ : "pass";
970
+ if (value.blocking !== expectedBlocking || value.status !== expectedStatus)
971
+ return undefined;
972
+ checks.sort((left, right) => byCodeUnit(left.id, right.id));
973
+ findings.sort((left, right) => byCodeUnit(left.id, right.id));
974
+ return Object.freeze({
975
+ version: 1,
976
+ status: value.status,
977
+ ok: value.ok,
978
+ strict: value.strict,
979
+ blocking: value.blocking,
980
+ digest: value.digest,
981
+ ...(scope === undefined ? {} : { scope }),
982
+ checks: Object.freeze(checks),
983
+ findings: Object.freeze(findings),
984
+ fixes: Object.freeze(fixes),
985
+ });
986
+ }
987
+ /** Project a review report or host RPC result into a bounded, content-free browser view. */
988
+ export function toReviewView(value) {
989
+ if (!reviewViewRecord(value))
990
+ return undefined;
991
+ if (!Object.hasOwn(value, "report") &&
992
+ Object.hasOwn(value, "ok") &&
993
+ Object.hasOwn(value, "status") &&
994
+ (value.status === null || typeof value.status === "number")) {
995
+ if (!reviewViewSafeKeys(value, new Set(["ok", "status", "errorCode"])) ||
996
+ typeof value.ok !== "boolean" ||
997
+ (value.status !== null && !reviewViewInt(value.status)) ||
998
+ (value.errorCode !== undefined &&
999
+ (typeof value.errorCode !== "string" || !REVIEW_VIEW_RPC_ERRORS.has(value.errorCode))))
1000
+ return reviewUnavailableView(null, "invalid-report");
1001
+ const reason = value.errorCode === "invalid-report"
1002
+ ? "invalid-report"
1003
+ : value.errorCode === undefined
1004
+ ? value.ok
1005
+ ? "invalid-report"
1006
+ : "unavailable"
1007
+ : "process-failed";
1008
+ return reviewUnavailableView(value.status, reason);
1009
+ }
1010
+ if (Object.hasOwn(value, "report")) {
1011
+ if (!reviewViewSafeKeys(value, new Set(["ok", "status", "report", "errorCode"])) ||
1012
+ (value.status !== null && !reviewViewInt(value.status)) ||
1013
+ typeof value.ok !== "boolean" ||
1014
+ (value.errorCode !== undefined &&
1015
+ (typeof value.errorCode !== "string" || !REVIEW_VIEW_RPC_ERRORS.has(value.errorCode))) ||
1016
+ value.errorCode !== undefined)
1017
+ return reviewUnavailableView(null, "invalid-report");
1018
+ if (value.report === undefined)
1019
+ return reviewUnavailableView(value.status, value.ok ? "invalid-report" : "unavailable");
1020
+ const report = reviewViewRecord(value.report) ? parseReviewViewReport(value.report) : undefined;
1021
+ return report === undefined
1022
+ ? reviewUnavailableView(value.status, "invalid-report")
1023
+ : Object.freeze({
1024
+ ...report,
1025
+ ...(value.status === undefined ? {} : { processStatus: value.status }),
1026
+ });
1027
+ }
1028
+ return parseReviewViewReport(value);
1029
+ }
579
1030
  //# sourceMappingURL=view-models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-models.js","sourceRoot":"","sources":["../src/view-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-models.js","sourceRoot":"","sources":["../src/view-models.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nifrajs/agent-app",
3
- "version": "3.3.0",
3
+ "version": "4.0.0",
4
4
  "description": "Presentation-safe browser SDK for Nifra agent hosts: negotiated commands, ordered event streaming, and content-free view models over the agent protocol.",
5
5
  "keywords": [
6
6
  "bun",
@@ -12,6 +12,9 @@
12
12
  "sse"
13
13
  ],
14
14
  "type": "module",
15
+ "nifra": {
16
+ "environment": "library"
17
+ },
15
18
  "main": "./dist/index.js",
16
19
  "module": "./dist/index.js",
17
20
  "types": "./dist/index.d.ts",
@@ -31,7 +34,7 @@
31
34
  "build": "tsc -p tsconfig.build.json && bun run ../../scripts/fix-dts.ts dist"
32
35
  },
33
36
  "dependencies": {
34
- "@nifrajs/agent-protocol": "3.3.0"
37
+ "@nifrajs/agent-protocol": "4.0.0"
35
38
  },
36
39
  "license": "MIT",
37
40
  "publishConfig": {