@sixb/core 0.1.20 → 0.1.21
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/actions/execution.d.ts.map +1 -1
- package/dist/actions/index.js +54 -47
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-authorization.d.ts +9 -0
- package/dist/actions/run-authorization.d.ts.map +1 -1
- package/dist/activity/connection.d.ts +62 -0
- package/dist/activity/connection.d.ts.map +1 -0
- package/dist/activity/device.d.ts +8 -0
- package/dist/activity/device.d.ts.map +1 -0
- package/dist/activity/execution.d.ts +48 -0
- package/dist/activity/execution.d.ts.map +1 -0
- package/dist/activity/service.d.ts +79 -0
- package/dist/activity/service.d.ts.map +1 -0
- package/dist/activity/shares.d.ts +24 -0
- package/dist/activity/shares.d.ts.map +1 -0
- package/dist/activity/timeline.d.ts +96 -0
- package/dist/activity/timeline.d.ts.map +1 -0
- package/dist/agents/index.d.ts +2 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +63 -50
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/skills.d.ts.map +1 -1
- package/dist/agents/streams/index.js +3 -3
- package/dist/agents/streams/internal.js +3 -3
- package/dist/agents/types.d.ts +8 -8
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/artifacts/address.d.ts +48 -0
- package/dist/artifacts/address.d.ts.map +1 -0
- package/dist/artifacts/csv.d.ts +22 -0
- package/dist/artifacts/csv.d.ts.map +1 -0
- package/dist/artifacts/errors.d.ts +11 -0
- package/dist/artifacts/errors.d.ts.map +1 -0
- package/dist/artifacts/execution.d.ts +43 -0
- package/dist/artifacts/execution.d.ts.map +1 -0
- package/dist/artifacts/frames/assets.d.ts +28 -0
- package/dist/artifacts/frames/assets.d.ts.map +1 -0
- package/dist/artifacts/frames/grants.d.ts +37 -0
- package/dist/artifacts/frames/grants.d.ts.map +1 -0
- package/dist/artifacts/frames/index.d.ts +10 -0
- package/dist/artifacts/frames/index.d.ts.map +1 -0
- package/dist/artifacts/frames/index.js +892 -0
- package/dist/artifacts/frames/index.js.map +14 -0
- package/dist/artifacts/frames/kit.d.ts +66 -0
- package/dist/artifacts/frames/kit.d.ts.map +1 -0
- package/dist/artifacts/frames/probe.d.ts +41 -0
- package/dist/artifacts/frames/probe.d.ts.map +1 -0
- package/dist/artifacts/frames/protocol.d.ts +98 -0
- package/dist/artifacts/frames/protocol.d.ts.map +1 -0
- package/dist/artifacts/frames/runtime.d.ts +13 -0
- package/dist/artifacts/frames/runtime.d.ts.map +1 -0
- package/dist/artifacts/html.d.ts +6 -0
- package/dist/artifacts/html.d.ts.map +1 -0
- package/dist/artifacts/ids.d.ts +5 -0
- package/dist/artifacts/ids.d.ts.map +1 -0
- package/dist/artifacts/index.d.ts +16 -0
- package/dist/artifacts/index.d.ts.map +1 -0
- package/dist/artifacts/index.js +125 -0
- package/dist/artifacts/index.js.map +10 -0
- package/dist/artifacts/kinds.d.ts +5 -0
- package/dist/artifacts/kinds.d.ts.map +1 -0
- package/dist/artifacts/limits.d.ts +28 -0
- package/dist/artifacts/limits.d.ts.map +1 -0
- package/dist/artifacts/outline.d.ts +44 -0
- package/dist/artifacts/outline.d.ts.map +1 -0
- package/dist/artifacts/publish/files.d.ts +15 -0
- package/dist/artifacts/publish/files.d.ts.map +1 -0
- package/dist/artifacts/publish/index.d.ts +5 -0
- package/dist/artifacts/publish/index.d.ts.map +1 -0
- package/dist/artifacts/publish/index.js +36 -0
- package/dist/artifacts/publish/index.js.map +9 -0
- package/dist/artifacts/publish/publish.d.ts +52 -0
- package/dist/artifacts/publish/publish.d.ts.map +1 -0
- package/dist/artifacts/publish/references.d.ts +27 -0
- package/dist/artifacts/publish/references.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/document.d.ts +17 -0
- package/dist/artifacts/publish/validate/document.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/file.d.ts +8 -0
- package/dist/artifacts/publish/validate/file.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/sheet.d.ts +15 -0
- package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/slides.d.ts +21 -0
- package/dist/artifacts/publish/validate/slides.d.ts.map +1 -0
- package/dist/artifacts/references.d.ts +12 -0
- package/dist/artifacts/references.d.ts.map +1 -0
- package/dist/artifacts/resolve.d.ts +41 -0
- package/dist/artifacts/resolve.d.ts.map +1 -0
- package/dist/artifacts/theme.d.ts +19 -0
- package/dist/artifacts/theme.d.ts.map +1 -0
- package/dist/artifacts/warnings.d.ts +11 -0
- package/dist/artifacts/warnings.d.ts.map +1 -0
- package/dist/artifacts/workbook.d.ts +64 -0
- package/dist/artifacts/workbook.d.ts.map +1 -0
- package/dist/auth/index.js +10 -10
- package/dist/authorization/decision.d.ts +2 -0
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +2 -2
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.js +6 -6
- package/dist/blob-storage/browser.js +1 -1
- package/dist/blob-storage/index.js +2 -2
- package/dist/blob-storage/internal.d.ts +1 -1
- package/dist/blob-storage/internal.d.ts.map +1 -1
- package/dist/blob-storage/internal.js +11 -5
- package/dist/blob-storage/internal.js.map +1 -1
- package/dist/blob-storage/media-type.d.ts +12 -0
- package/dist/blob-storage/media-type.d.ts.map +1 -1
- package/dist/bootstrap/index.js +53 -47
- package/dist/bootstrap/index.js.map +2 -2
- package/dist/{chunk-xfs8x8m9.js → chunk-0bphap9y.js} +5 -5
- package/dist/{chunk-1zq2p6g0.js → chunk-1cc1xaf3.js} +3 -3
- package/dist/chunk-3jms7je7.js +14 -0
- package/dist/chunk-3jms7je7.js.map +10 -0
- package/dist/{chunk-s54c868q.js → chunk-3qct2mdc.js} +3 -13
- package/dist/chunk-3qct2mdc.js.map +12 -0
- package/dist/{chunk-t7x8dmn0.js → chunk-431pyp2c.js} +3 -3
- package/dist/{chunk-c85m1hyj.js → chunk-447a5c0p.js} +2 -2
- package/dist/chunk-48qjhh6v.js +185 -0
- package/dist/chunk-48qjhh6v.js.map +13 -0
- package/dist/{chunk-ren4kg2j.js → chunk-561r0yc9.js} +8 -8
- package/dist/{chunk-5e43w60z.js → chunk-5948n82c.js} +2 -2
- package/dist/{chunk-yzwja0mj.js → chunk-5hx48dnn.js} +2 -2
- package/dist/{chunk-x6m907x7.js → chunk-5vems3nx.js} +5 -6
- package/dist/{chunk-x6m907x7.js.map → chunk-5vems3nx.js.map} +3 -3
- package/dist/{chunk-0rbyz4qy.js → chunk-61y5xs4p.js} +560 -164
- package/dist/{chunk-0rbyz4qy.js.map → chunk-61y5xs4p.js.map} +12 -9
- package/dist/chunk-65abf64x.js +13 -0
- package/dist/chunk-65abf64x.js.map +10 -0
- package/dist/{chunk-z3y5kg1x.js → chunk-6eqsgvxk.js} +3 -3
- package/dist/{chunk-z3y5kg1x.js.map → chunk-6eqsgvxk.js.map} +2 -2
- package/dist/chunk-6rqgmkde.js +2028 -0
- package/dist/chunk-6rqgmkde.js.map +29 -0
- package/dist/{chunk-d0bqz29d.js → chunk-6vb4st8k.js} +8 -4
- package/dist/{chunk-d0bqz29d.js.map → chunk-6vb4st8k.js.map} +3 -3
- package/dist/chunk-7q8t23v4.js +467 -0
- package/dist/chunk-7q8t23v4.js.map +14 -0
- package/dist/{chunk-5j58wjct.js → chunk-858emn8m.js} +6 -6
- package/dist/{chunk-hvsb78a1.js → chunk-8frc8a4j.js} +26 -26
- package/dist/{chunk-hvsb78a1.js.map → chunk-8frc8a4j.js.map} +2 -2
- package/dist/{chunk-3zxk45er.js → chunk-8ncg20rd.js} +3 -68
- package/dist/{chunk-3zxk45er.js.map → chunk-8ncg20rd.js.map} +4 -5
- package/dist/{chunk-n33z5bjw.js → chunk-918wwnaa.js} +490 -24
- package/dist/{chunk-n33z5bjw.js.map → chunk-918wwnaa.js.map} +13 -11
- package/dist/{chunk-rrzt8jdy.js → chunk-9j4jw7as.js} +103 -110
- package/dist/chunk-9j4jw7as.js.map +14 -0
- package/dist/chunk-9kgkfg6v.js +502 -0
- package/dist/chunk-9kgkfg6v.js.map +14 -0
- package/dist/chunk-a3faa34j.js +74 -0
- package/dist/chunk-a3faa34j.js.map +10 -0
- package/dist/{chunk-6c6sn0bh.js → chunk-akzryx9h.js} +335 -1167
- package/dist/{chunk-6c6sn0bh.js.map → chunk-akzryx9h.js.map} +18 -24
- package/dist/chunk-arns890k.js +10 -0
- package/dist/chunk-arns890k.js.map +10 -0
- package/dist/{chunk-hjzdd750.js → chunk-bk9svbcq.js} +11 -11
- package/dist/{chunk-hjzdd750.js.map → chunk-bk9svbcq.js.map} +2 -2
- package/dist/{chunk-hkc3jct7.js → chunk-c06hmxyy.js} +2 -10
- package/dist/chunk-c06hmxyy.js.map +10 -0
- package/dist/{chunk-6p49a5cq.js → chunk-c1rxbz5y.js} +3 -3
- package/dist/chunk-cfj9dfbb.js +288 -0
- package/dist/chunk-cfj9dfbb.js.map +12 -0
- package/dist/{chunk-bx9q3cwv.js → chunk-cn0fwwhy.js} +7 -7
- package/dist/{chunk-bx9q3cwv.js.map → chunk-cn0fwwhy.js.map} +1 -1
- package/dist/{chunk-gc4ntf7d.js → chunk-cwdzcv37.js} +1 -1
- package/dist/{chunk-fa02jy15.js → chunk-cy4mbddw.js} +1 -1
- package/dist/{chunk-9w055r5b.js → chunk-d09e3rax.js} +1 -1
- package/dist/chunk-d5rjr8c0.js +176 -0
- package/dist/chunk-d5rjr8c0.js.map +12 -0
- package/dist/{chunk-dk8tkk5f.js → chunk-d7dnxdep.js} +3 -3
- package/dist/{chunk-b38szspf.js → chunk-dhcv7yxc.js} +1 -1
- package/dist/{chunk-b38szspf.js.map → chunk-dhcv7yxc.js.map} +1 -1
- package/dist/{chunk-gsjm1wms.js → chunk-dhdha526.js} +8 -2
- package/dist/chunk-dhdha526.js.map +10 -0
- package/dist/{chunk-8mx7qw3y.js → chunk-dvd2fp9q.js} +2 -2
- package/dist/{chunk-8mx7qw3y.js.map → chunk-dvd2fp9q.js.map} +3 -3
- package/dist/{chunk-way52z4h.js → chunk-e17zdm62.js} +6 -12
- package/dist/{chunk-way52z4h.js.map → chunk-e17zdm62.js.map} +3 -4
- package/dist/{chunk-tpn40322.js → chunk-e6k4thh5.js} +11 -10
- package/dist/{chunk-tpn40322.js.map → chunk-e6k4thh5.js.map} +3 -3
- package/dist/{chunk-tw03bsmb.js → chunk-eptrvnby.js} +224 -3
- package/dist/chunk-eptrvnby.js.map +12 -0
- package/dist/{chunk-es1gxsbf.js → chunk-f4pamkt9.js} +8 -10
- package/dist/chunk-f4pamkt9.js.map +12 -0
- package/dist/chunk-ff5xkv0p.js +211 -0
- package/dist/chunk-ff5xkv0p.js.map +10 -0
- package/dist/{chunk-d09tj99x.js → chunk-g257jwnc.js} +10 -4
- package/dist/{chunk-d09tj99x.js.map → chunk-g257jwnc.js.map} +3 -3
- package/dist/chunk-g5bvzyyr.js +32 -0
- package/dist/chunk-g5bvzyyr.js.map +10 -0
- package/dist/chunk-hke9aeen.js +9 -0
- package/dist/chunk-hke9aeen.js.map +10 -0
- package/dist/{chunk-1sr8ryzk.js → chunk-hwksyjks.js} +122 -1
- package/dist/{chunk-1sr8ryzk.js.map → chunk-hwksyjks.js.map} +3 -3
- package/dist/chunk-jcfw4h7m.js +9 -0
- package/dist/chunk-jcfw4h7m.js.map +10 -0
- package/dist/{chunk-k6q3n2sc.js → chunk-k43ct2ke.js} +20 -11
- package/dist/chunk-k43ct2ke.js.map +12 -0
- package/dist/{chunk-3t2hgbgd.js → chunk-kge7k6ey.js} +40 -8
- package/dist/chunk-kge7k6ey.js.map +15 -0
- package/dist/{chunk-tg2cw67r.js → chunk-ky3j490c.js} +2 -2
- package/dist/chunk-mjddfa7k.js +129 -0
- package/dist/chunk-mjddfa7k.js.map +12 -0
- package/dist/{chunk-vpq4shxz.js → chunk-nn5xnx3s.js} +45 -10
- package/dist/{chunk-vpq4shxz.js.map → chunk-nn5xnx3s.js.map} +7 -6
- package/dist/{chunk-0yh890a4.js → chunk-q5e5tv4b.js} +35 -7
- package/dist/{chunk-0yh890a4.js.map → chunk-q5e5tv4b.js.map} +3 -3
- package/dist/{chunk-vyf9kfqf.js → chunk-q7gn29y3.js} +1 -1
- package/dist/{chunk-yevzdx4y.js → chunk-rmakanzx.js} +10 -12
- package/dist/{chunk-yevzdx4y.js.map → chunk-rmakanzx.js.map} +3 -4
- package/dist/{chunk-v9xd5wzd.js → chunk-s7jg7pmn.js} +1 -1
- package/dist/chunk-tbc1ngpd.js +642 -0
- package/dist/chunk-tbc1ngpd.js.map +18 -0
- package/dist/chunk-twe4dx8p.js +676 -0
- package/dist/chunk-twe4dx8p.js.map +15 -0
- package/dist/{chunk-9dmt152s.js → chunk-vf57cr4t.js} +2 -2
- package/dist/{chunk-9ybhtmg4.js → chunk-vvxtn22d.js} +1 -1
- package/dist/{chunk-jhm3zsa7.js → chunk-wkv3h3q7.js} +64 -2
- package/dist/{chunk-jhm3zsa7.js.map → chunk-wkv3h3q7.js.map} +3 -3
- package/dist/chunk-x0v3jd47.js +124 -0
- package/dist/chunk-x0v3jd47.js.map +10 -0
- package/dist/{chunk-7t429e3f.js → chunk-xvsc5m8n.js} +1 -1
- package/dist/{chunk-z4m0yz8c.js → chunk-y5tah2kf.js} +1 -1
- package/dist/{chunk-fkgc1wt8.js → chunk-z58tm0hm.js} +2 -2
- package/dist/datasets/builders.d.ts +15 -2
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/column-index.d.ts +7 -0
- package/dist/datasets/column-index.d.ts.map +1 -0
- package/dist/datasets/execution.d.ts +3 -2
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/write.js +8 -8
- package/dist/error-reporting/internal.js +4 -4
- package/dist/errors/internal.d.ts +1 -0
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +7 -4
- package/dist/errors/internal.js.map +1 -1
- package/dist/events/execution.d.ts +12 -2
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/index.js +4 -4
- package/dist/execution/agent.js +56 -49
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +52 -11
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/object-reader-clearance.d.ts +41 -0
- package/dist/execution/object-reader-clearance.d.ts.map +1 -0
- package/dist/execution/object-reader-ontology.d.ts +12 -0
- package/dist/execution/object-reader-ontology.d.ts.map +1 -0
- package/dist/execution/object-reader-security.d.ts +45 -0
- package/dist/execution/object-reader-security.d.ts.map +1 -0
- package/dist/execution/primitive.js +54 -47
- package/dist/execution/primitive.js.map +1 -1
- package/dist/execution/request.js +48 -41
- package/dist/execution/request.js.map +2 -2
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +20 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +112 -97
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +1 -0
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +6 -3
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +21 -13
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/lineage.d.ts +94 -0
- package/dist/lake-storage/lineage.d.ts.map +1 -0
- package/dist/lake-storage/sql-transforms.d.ts +45 -0
- package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
- package/dist/lake-storage/types.d.ts +55 -1
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/lake-storage/version-inputs.d.ts +14 -3
- package/dist/lake-storage/version-inputs.d.ts.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/materializer/index.js +31 -30
- package/dist/materializer/index.js.map +1 -1
- package/dist/models/execution/index.js +25 -24
- package/dist/models/execution/index.js.map +1 -1
- package/dist/objects/clearance-redaction.d.ts +27 -0
- package/dist/objects/clearance-redaction.d.ts.map +1 -0
- package/dist/objects/index.js +54 -47
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/authorization.d.ts +8 -5
- package/dist/objects/link/authorization.d.ts.map +1 -1
- package/dist/objects/link/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/delete.d.ts.map +1 -1
- package/dist/objects/object/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/upsert.d.ts.map +1 -1
- package/dist/objects/property-clearance.d.ts +47 -24
- package/dist/objects/property-clearance.d.ts.map +1 -1
- package/dist/objects/query/clearance-admission.d.ts +10 -0
- package/dist/objects/query/clearance-admission.d.ts.map +1 -0
- package/dist/objects/query/index.js +29 -28
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/link-query-clearance.d.ts +21 -0
- package/dist/objects/query/link-query-clearance.d.ts.map +1 -0
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/docs-markdown.d.ts +1 -1
- package/dist/ontology/docs-markdown.d.ts.map +1 -1
- package/dist/ontology/index.js +7 -7
- package/dist/ontology/internal.js +4 -4
- package/dist/ontology/internal.js.map +1 -1
- package/dist/pipelines/index.d.ts +2 -0
- package/dist/pipelines/index.d.ts.map +1 -1
- package/dist/pipelines/index.js +47 -35
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/lineage.d.ts +17 -0
- package/dist/pipelines/lineage.d.ts.map +1 -0
- package/dist/projections/internal.d.ts +2 -2
- package/dist/projections/internal.js +30 -29
- package/dist/projections/internal.js.map +1 -1
- package/dist/runtime/create.d.ts +3 -0
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +6 -0
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +2 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +46 -42
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/ontology-mutations.d.ts +2 -0
- package/dist/runtime/ontology-mutations.d.ts.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +8 -0
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/sandboxes/auth.d.ts +16 -0
- package/dist/sandboxes/auth.d.ts.map +1 -1
- package/dist/sandboxes/config.d.ts.map +1 -1
- package/dist/sandboxes/configuration.d.ts +26 -0
- package/dist/sandboxes/configuration.d.ts.map +1 -1
- package/dist/sandboxes/index.d.ts +1 -1
- package/dist/sandboxes/index.d.ts.map +1 -1
- package/dist/sandboxes/index.js +14 -13
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/sandboxes/sandbox.d.ts +28 -5
- package/dist/sandboxes/sandbox.d.ts.map +1 -1
- package/dist/security/applied-markings-contribution.d.ts +58 -0
- package/dist/security/applied-markings-contribution.d.ts.map +1 -0
- package/dist/security/applied-markings-host.d.ts +10 -0
- package/dist/security/applied-markings-host.d.ts.map +1 -0
- package/dist/security/applied-markings-snapshot.d.ts +67 -0
- package/dist/security/applied-markings-snapshot.d.ts.map +1 -0
- package/dist/security/applied-markings.d.ts +73 -0
- package/dist/security/applied-markings.d.ts.map +1 -0
- package/dist/security/dataset-version-markings.d.ts +47 -0
- package/dist/security/dataset-version-markings.d.ts.map +1 -0
- package/dist/security/grants.d.ts +3 -2
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +2 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/internal.d.ts +15 -0
- package/dist/security/internal.d.ts.map +1 -0
- package/dist/security/internal.js +135 -0
- package/dist/security/internal.js.map +10 -0
- package/dist/security/marking-propagation.d.ts +62 -0
- package/dist/security/marking-propagation.d.ts.map +1 -0
- package/dist/security/marking-sets.d.ts +14 -0
- package/dist/security/marking-sets.d.ts.map +1 -0
- package/dist/security/markings.d.ts +6 -3
- package/dist/security/markings.d.ts.map +1 -1
- package/dist/security/pipeline-markings.d.ts +20 -0
- package/dist/security/pipeline-markings.d.ts.map +1 -0
- package/dist/security/project.d.ts +4 -0
- package/dist/security/project.d.ts.map +1 -0
- package/dist/security/projection-markings.d.ts +71 -0
- package/dist/security/projection-markings.d.ts.map +1 -0
- package/dist/security/public.js +2 -2
- package/dist/security/redactions.d.ts +4 -1
- package/dist/security/redactions.d.ts.map +1 -1
- package/dist/security/types.d.ts +22 -2
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/internal.js +24 -23
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +3 -3
- package/dist/storage/action-runs/in-memory.d.ts +4 -0
- package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/action-runs/types.d.ts +8 -0
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/activity/in-memory.d.ts +55 -0
- package/dist/storage/activity/in-memory.d.ts.map +1 -0
- package/dist/storage/activity/index.d.ts +3 -0
- package/dist/storage/activity/index.d.ts.map +1 -0
- package/dist/storage/activity/policy.d.ts +96 -0
- package/dist/storage/activity/policy.d.ts.map +1 -0
- package/dist/storage/activity/types.d.ts +191 -0
- package/dist/storage/activity/types.d.ts.map +1 -0
- package/dist/storage/agents/in-memory.d.ts +4 -0
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +2 -5
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +9 -8
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +3 -3
- package/dist/storage/artifacts/errors.d.ts +8 -0
- package/dist/storage/artifacts/errors.d.ts.map +1 -0
- package/dist/storage/artifacts/in-memory.d.ts +34 -0
- package/dist/storage/artifacts/in-memory.d.ts.map +1 -0
- package/dist/storage/artifacts/index.d.ts +5 -0
- package/dist/storage/artifacts/index.d.ts.map +1 -0
- package/dist/storage/artifacts/record.d.ts +17 -0
- package/dist/storage/artifacts/record.d.ts.map +1 -0
- package/dist/storage/artifacts/types.d.ts +184 -0
- package/dist/storage/artifacts/types.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/sessions.d.ts +2 -1
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +1 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +19 -0
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +2 -2
- package/dist/storage/executions/in-memory.d.ts +2 -1
- package/dist/storage/executions/in-memory.d.ts.map +1 -1
- package/dist/storage/executions/index.d.ts +1 -1
- package/dist/storage/executions/index.d.ts.map +1 -1
- package/dist/storage/executions/provider.d.ts +2 -0
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +9 -223
- package/dist/storage/executions/provider.js.map +3 -4
- package/dist/storage/executions/types.d.ts +31 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.js +11 -11
- package/dist/storage/in-memory/index.d.ts +8 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +6 -4
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +54 -53
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +3 -0
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +66 -16
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/ontology/in-memory/sources.d.ts +2 -1
- package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
- package/dist/storage/ontology/index.d.ts +1 -1
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/sources.d.ts +15 -0
- package/dist/storage/ontology/sources.d.ts.map +1 -1
- package/dist/storage/projection-runs/provider.js +3 -3
- package/dist/storage/share-grants/in-memory.d.ts +2 -1
- package/dist/storage/share-grants/in-memory.d.ts.map +1 -1
- package/dist/storage/share-grants/index.d.ts +1 -1
- package/dist/storage/share-grants/index.d.ts.map +1 -1
- package/dist/storage/share-grants/types.d.ts +6 -0
- package/dist/storage/share-grants/types.d.ts.map +1 -1
- package/dist/storage/types.d.ts +4 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/in-memory.d.ts +4 -0
- package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +13 -12
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/storage/workflow-runs/types.d.ts +5 -0
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/index.js +35 -34
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/action-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/activity-storage-contract.d.ts +14 -0
- package/dist/testing/activity-storage-contract.d.ts.map +1 -0
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/artifact-storage-contract.d.ts +13 -0
- package/dist/testing/artifact-storage-contract.d.ts.map +1 -0
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4488 -3137
- package/dist/testing/index.js.map +14 -12
- package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
- package/dist/testing/lake-storage-contract.d.ts +2 -0
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +27 -26
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +2 -2
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/index.js +57 -51
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/types.d.ts +9 -0
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +7 -0
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +25 -1
- package/src/actions/execution.ts +18 -13
- package/src/actions/request.ts +18 -3
- package/src/actions/run-authorization.ts +23 -0
- package/src/activity/README.md +155 -0
- package/src/activity/connection.ts +217 -0
- package/src/activity/device.ts +41 -0
- package/src/activity/execution.ts +210 -0
- package/src/activity/service.ts +274 -0
- package/src/activity/shares.ts +62 -0
- package/src/activity/timeline.ts +424 -0
- package/src/agents/index.ts +8 -3
- package/src/agents/request.ts +5 -0
- package/src/agents/skills.ts +6 -0
- package/src/agents/types.ts +8 -8
- package/src/agents/validation.ts +2 -0
- package/src/artifacts/address.ts +132 -0
- package/src/artifacts/csv.ts +108 -0
- package/src/artifacts/errors.ts +21 -0
- package/src/artifacts/execution.ts +153 -0
- package/src/artifacts/frames/assets.ts +88 -0
- package/src/artifacts/frames/grants.ts +124 -0
- package/src/artifacts/frames/index.ts +15 -0
- package/src/artifacts/frames/kit.ts +392 -0
- package/src/artifacts/frames/probe.ts +309 -0
- package/src/artifacts/frames/protocol.ts +174 -0
- package/src/artifacts/frames/runtime.ts +213 -0
- package/src/artifacts/html.ts +25 -0
- package/src/artifacts/ids.ts +18 -0
- package/src/artifacts/index.ts +61 -0
- package/src/artifacts/kinds.ts +8 -0
- package/src/artifacts/limits.ts +27 -0
- package/src/artifacts/outline.ts +62 -0
- package/src/artifacts/publish/files.ts +87 -0
- package/src/artifacts/publish/index.ts +12 -0
- package/src/artifacts/publish/publish.ts +250 -0
- package/src/artifacts/publish/references.ts +130 -0
- package/src/artifacts/publish/validate/document.ts +114 -0
- package/src/artifacts/publish/validate/file.ts +19 -0
- package/src/artifacts/publish/validate/sheet.ts +251 -0
- package/src/artifacts/publish/validate/slides.ts +134 -0
- package/src/artifacts/references.ts +11 -0
- package/src/artifacts/resolve.ts +97 -0
- package/src/artifacts/theme.ts +116 -0
- package/src/artifacts/warnings.ts +10 -0
- package/src/artifacts/workbook.ts +315 -0
- package/src/authorization/decision.ts +5 -0
- package/src/authorization/grant-kinds.ts +14 -2
- package/src/blob-storage/internal.ts +1 -1
- package/src/blob-storage/media-type.ts +69 -0
- package/src/datasets/builders.ts +66 -2
- package/src/datasets/column-index.ts +19 -0
- package/src/datasets/execution.ts +23 -9
- package/src/errors/internal.ts +1 -0
- package/src/events/execution.ts +134 -21
- package/src/execution/authorized-object-reader.ts +270 -256
- package/src/execution/object-reader-clearance.ts +91 -0
- package/src/execution/object-reader-ontology.ts +63 -0
- package/src/execution/object-reader-security.ts +146 -0
- package/src/http/api-routes.ts +125 -0
- package/src/index.ts +71 -3
- package/src/lake-storage/in-memory.ts +26 -3
- package/src/lake-storage/index.ts +13 -1
- package/src/lake-storage/lineage.ts +385 -0
- package/src/lake-storage/sql-transforms.ts +45 -0
- package/src/lake-storage/types.ts +59 -1
- package/src/lake-storage/version-inputs.ts +35 -6
- package/src/maintenance/ontology-maintenance.ts +15 -0
- package/src/objects/clearance-redaction.ts +138 -0
- package/src/objects/link/authorization.ts +27 -7
- package/src/objects/link/remove.ts +2 -2
- package/src/objects/link/upsert-batch.ts +7 -5
- package/src/objects/link/upsert.ts +2 -2
- package/src/objects/object/delete.ts +2 -0
- package/src/objects/object/upsert-batch.ts +2 -4
- package/src/objects/object/upsert.ts +2 -3
- package/src/objects/property-clearance.ts +171 -152
- package/src/objects/query/clearance-admission.ts +112 -0
- package/src/objects/query/link-query-clearance.ts +73 -0
- package/src/ontology/builders.ts +12 -1
- package/src/ontology/docs-markdown.ts +1 -1
- package/src/pipelines/index.ts +2 -0
- package/src/pipelines/lineage.ts +45 -0
- package/src/projections/internal.ts +2 -2
- package/src/runtime/create.ts +4 -0
- package/src/runtime/host.ts +55 -0
- package/src/runtime/internal.ts +2 -0
- package/src/runtime/ontology-mutations.ts +19 -4
- package/src/runtime/resolve-definitions.ts +66 -3
- package/src/runtime/sixb.ts +18 -1
- package/src/sandboxes/README.md +29 -7
- package/src/sandboxes/auth.ts +16 -0
- package/src/sandboxes/config.ts +2 -7
- package/src/sandboxes/configuration.ts +61 -7
- package/src/sandboxes/index.ts +1 -0
- package/src/sandboxes/sandbox.ts +27 -5
- package/src/security/applied-markings-contribution.ts +277 -0
- package/src/security/applied-markings-host.ts +41 -0
- package/src/security/applied-markings-snapshot.ts +235 -0
- package/src/security/applied-markings.ts +405 -0
- package/src/security/dataset-version-markings.ts +163 -0
- package/src/security/grants.ts +39 -4
- package/src/security/index.ts +3 -0
- package/src/security/internal.ts +18 -0
- package/src/security/marking-propagation.ts +255 -0
- package/src/security/marking-sets.ts +42 -0
- package/src/security/markings.ts +29 -178
- package/src/security/pipeline-markings.ts +175 -0
- package/src/security/project.ts +8 -0
- package/src/security/projection-markings.ts +421 -0
- package/src/security/redactions.ts +7 -2
- package/src/security/types.ts +20 -2
- package/src/security/validation.ts +11 -4
- package/src/storage/action-runs/in-memory.ts +18 -0
- package/src/storage/action-runs/types.ts +8 -0
- package/src/storage/activity/in-memory.ts +374 -0
- package/src/storage/activity/index.ts +27 -0
- package/src/storage/activity/policy.ts +430 -0
- package/src/storage/activity/types.ts +211 -0
- package/src/storage/agents/in-memory.ts +10 -0
- package/src/storage/agents/provider.ts +2 -13
- package/src/storage/agents/types.ts +9 -16
- package/src/storage/artifacts/errors.ts +16 -0
- package/src/storage/artifacts/in-memory.ts +240 -0
- package/src/storage/artifacts/index.ts +30 -0
- package/src/storage/artifacts/record.ts +200 -0
- package/src/storage/artifacts/types.ts +209 -0
- package/src/storage/auth/in-memory/sessions.ts +21 -0
- package/src/storage/auth/index.ts +2 -0
- package/src/storage/auth/types.ts +18 -0
- package/src/storage/executions/in-memory.ts +61 -1
- package/src/storage/executions/index.ts +3 -0
- package/src/storage/executions/provider.ts +12 -0
- package/src/storage/executions/types.ts +30 -0
- package/src/storage/in-memory/index.ts +16 -0
- package/src/storage/index.ts +63 -0
- package/src/storage/internal.ts +30 -0
- package/src/storage/ontology/in-memory/sources.ts +23 -0
- package/src/storage/ontology/index.ts +2 -0
- package/src/storage/ontology/sources.ts +17 -0
- package/src/storage/share-grants/in-memory.ts +8 -0
- package/src/storage/share-grants/index.ts +1 -0
- package/src/storage/share-grants/types.ts +8 -0
- package/src/storage/types.ts +4 -0
- package/src/storage/workflow-runs/in-memory.ts +16 -0
- package/src/storage/workflow-runs/types.ts +5 -0
- package/src/testing/action-run-storage-contract.ts +25 -0
- package/src/testing/activity-storage-contract.ts +840 -0
- package/src/testing/agent-storage-contract.ts +22 -21
- package/src/testing/artifact-storage-contract.ts +517 -0
- package/src/testing/auth-storage-contract.ts +47 -0
- package/src/testing/execution-storage-contract.ts +147 -1
- package/src/testing/index.ts +9 -0
- package/src/testing/lake-merge-storage-contract.ts +38 -0
- package/src/testing/lake-storage-contract.ts +247 -2
- package/src/testing/materializer-storage-contract.ts +1 -0
- package/src/testing/ontology-storage-contract.ts +57 -2
- package/src/testing/share-grant-storage-contract.ts +15 -0
- package/src/workflows/builders.ts +14 -0
- package/src/workflows/types.ts +9 -0
- package/src/workflows/validation.ts +72 -0
- package/dist/chunk-1k89ecfr.js +0 -85
- package/dist/chunk-1k89ecfr.js.map +0 -10
- package/dist/chunk-3t2hgbgd.js.map +0 -15
- package/dist/chunk-4vyr1j8f.js +0 -128
- package/dist/chunk-4vyr1j8f.js.map +0 -11
- package/dist/chunk-9gyp8hg1.js +0 -363
- package/dist/chunk-9gyp8hg1.js.map +0 -14
- package/dist/chunk-es1gxsbf.js.map +0 -13
- package/dist/chunk-gsjm1wms.js.map +0 -10
- package/dist/chunk-hkc3jct7.js.map +0 -10
- package/dist/chunk-k6q3n2sc.js.map +0 -12
- package/dist/chunk-rrzt8jdy.js.map +0 -14
- package/dist/chunk-s16apyk9.js +0 -256
- package/dist/chunk-s16apyk9.js.map +0 -16
- package/dist/chunk-s54c868q.js.map +0 -12
- package/dist/chunk-tw03bsmb.js.map +0 -11
- /package/dist/{chunk-xfs8x8m9.js.map → chunk-0bphap9y.js.map} +0 -0
- /package/dist/{chunk-1zq2p6g0.js.map → chunk-1cc1xaf3.js.map} +0 -0
- /package/dist/{chunk-t7x8dmn0.js.map → chunk-431pyp2c.js.map} +0 -0
- /package/dist/{chunk-c85m1hyj.js.map → chunk-447a5c0p.js.map} +0 -0
- /package/dist/{chunk-ren4kg2j.js.map → chunk-561r0yc9.js.map} +0 -0
- /package/dist/{chunk-5e43w60z.js.map → chunk-5948n82c.js.map} +0 -0
- /package/dist/{chunk-yzwja0mj.js.map → chunk-5hx48dnn.js.map} +0 -0
- /package/dist/{chunk-5j58wjct.js.map → chunk-858emn8m.js.map} +0 -0
- /package/dist/{chunk-6p49a5cq.js.map → chunk-c1rxbz5y.js.map} +0 -0
- /package/dist/{chunk-gc4ntf7d.js.map → chunk-cwdzcv37.js.map} +0 -0
- /package/dist/{chunk-fa02jy15.js.map → chunk-cy4mbddw.js.map} +0 -0
- /package/dist/{chunk-9w055r5b.js.map → chunk-d09e3rax.js.map} +0 -0
- /package/dist/{chunk-dk8tkk5f.js.map → chunk-d7dnxdep.js.map} +0 -0
- /package/dist/{chunk-tg2cw67r.js.map → chunk-ky3j490c.js.map} +0 -0
- /package/dist/{chunk-vyf9kfqf.js.map → chunk-q7gn29y3.js.map} +0 -0
- /package/dist/{chunk-v9xd5wzd.js.map → chunk-s7jg7pmn.js.map} +0 -0
- /package/dist/{chunk-9dmt152s.js.map → chunk-vf57cr4t.js.map} +0 -0
- /package/dist/{chunk-9ybhtmg4.js.map → chunk-vvxtn22d.js.map} +0 -0
- /package/dist/{chunk-7t429e3f.js.map → chunk-xvsc5m8n.js.map} +0 -0
- /package/dist/{chunk-z4m0yz8c.js.map → chunk-y5tah2kf.js.map} +0 -0
- /package/dist/{chunk-fkgc1wt8.js.map → chunk-z58tm0hm.js.map} +0 -0
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
"import type { ActionSubject } from \"../../actions\"\nimport type { ActionRunFailure } from \"../../storage\"\n\nexport class ActionValidationError extends Error {\n readonly name = \"ActionValidationError\"\n readonly actionId: string\n readonly subject: ActionSubject\n readonly primaryId?: string\n\n constructor(message: string, params: { actionId: string; subject: ActionSubject }) {\n super(message)\n this.actionId = params.actionId\n this.subject = params.subject\n this.primaryId = params.subject.kind === \"object\" ? params.subject.primaryId : undefined\n }\n}\n\nexport class ActionRunFailedError extends Error {\n readonly name = \"ActionRunFailedError\"\n readonly runId: string\n readonly actionId: string\n readonly subject: ActionSubject\n readonly objectTypeId?: string\n readonly primaryId?: string\n readonly error: ActionRunFailure\n readonly finishedAt: string\n\n constructor(payload: {\n runId: string\n actionId: string\n subject: ActionSubject\n error: ActionRunFailure\n finishedAt: string\n }) {\n super(payload.error.message)\n this.runId = payload.runId\n this.actionId = payload.actionId\n this.subject = payload.subject\n this.objectTypeId = payload.subject.kind === \"object\" ? payload.subject.objectTypeId : undefined\n this.primaryId = payload.subject.kind === \"object\" ? payload.subject.primaryId : undefined\n this.error = payload.error\n this.finishedAt = payload.finishedAt\n }\n}\n",
|
|
6
6
|
"interface SixbErrorDefinition {\n readonly publicMessage: string\n readonly retryable: boolean\n}\n\n/**\n * Source of truth for stable Sixb error codes and their framework-level policy.\n *\n * Keep this catalog internal. Consumers receive the `SixbErrorCode` union and persisted\n * `SixbFailure` values, not a mutable registry.\n */\nexport const SIXB_ERROR_DEFINITIONS = {\n \"action.phase_failed\": {\n publicMessage: \"Action execution failed.\",\n retryable: false,\n },\n \"action.read_conflict\": {\n publicMessage: \"Data the Action read changed before its commit.\",\n retryable: true,\n },\n \"action.run_in_progress\": {\n publicMessage: \"The Action run is already in progress.\",\n retryable: true,\n },\n // Not retryable: the deadline aborts a writeback whose external call may still have landed.\n \"action.timeout\": {\n publicMessage: \"The Action exceeded its 30-second time limit.\",\n retryable: false,\n },\n \"agent.execution_failed\": {\n publicMessage: \"Agent execution failed.\",\n retryable: false,\n },\n \"ai.usage_limit_exceeded\": {\n publicMessage: \"AI usage limit exceeded.\",\n retryable: false,\n },\n \"ai.usage_limit_unavailable\": {\n publicMessage: \"AI usage limit could not be evaluated.\",\n retryable: true,\n },\n \"connector.adapter_invalid\": {\n publicMessage: \"Connector adapter returned an invalid result.\",\n retryable: false,\n },\n \"connector.authorization_invalid\": {\n publicMessage: \"Connector authorization is invalid.\",\n retryable: false,\n },\n \"connector.authorization_required\": {\n publicMessage: \"Connector authorization is required.\",\n retryable: false,\n },\n \"connector.configuration_invalid\": {\n publicMessage: \"Connector configuration is invalid.\",\n retryable: false,\n },\n \"connector.credentials_unavailable\": {\n publicMessage: \"Connector credentials are unavailable.\",\n retryable: false,\n },\n \"connector.not_found\": {\n publicMessage: \"Connector resource not found.\",\n retryable: false,\n },\n \"connector.operation_conflict\": {\n publicMessage: \"Connector operation conflicts with the current state.\",\n retryable: false,\n },\n \"connector.operation_in_progress\": {\n publicMessage: \"Another connector credential operation is in progress.\",\n retryable: true,\n },\n \"connector.provider_failed\": {\n publicMessage: \"Connector provider operation failed.\",\n retryable: false,\n },\n \"connector.provider_unavailable\": {\n publicMessage: \"Connector provider is temporarily unavailable.\",\n retryable: true,\n },\n \"connector.replacement_required\": {\n publicMessage: \"Connector selection requires explicit replacement.\",\n retryable: false,\n },\n \"connector.revocation_pending\": {\n publicMessage: \"Connector revocation is pending.\",\n retryable: true,\n },\n \"dataset.not_found\": {\n publicMessage: \"Dataset not found.\",\n retryable: false,\n },\n \"dataset.version_incompatible\": {\n publicMessage: \"Dataset version is incompatible.\",\n retryable: false,\n },\n \"dataset.version_not_found\": {\n publicMessage: \"Dataset version not found.\",\n retryable: false,\n },\n \"dataset.version_read_inconsistent\": {\n publicMessage: \"Dataset version could not be read consistently.\",\n retryable: true,\n },\n \"event.delivery_failed\": {\n publicMessage: \"Event delivery failed.\",\n retryable: true,\n },\n \"internal.unexpected\": {\n publicMessage: \"An unexpected internal error occurred.\",\n retryable: false,\n },\n \"queue.enqueue_failed\": {\n publicMessage: \"The job could not be enqueued.\",\n retryable: true,\n },\n \"pipeline.step_failed\": {\n publicMessage: \"Pipeline step execution failed.\",\n retryable: false,\n },\n \"projection.definition_invalid\": {\n publicMessage: \"Projection definition is invalid.\",\n retryable: false,\n },\n \"projection.execution_failed\": {\n publicMessage: \"Projection execution failed.\",\n retryable: false,\n },\n \"projection.not_found\": {\n publicMessage: \"Projection not found.\",\n retryable: false,\n },\n \"projection.run_already_terminal\": {\n publicMessage: \"Projection run is already terminal.\",\n retryable: false,\n },\n \"projection.run_identity_mismatch\": {\n publicMessage: \"Projection run identity does not match the queued job.\",\n retryable: false,\n },\n \"runtime.cancelled\": {\n publicMessage: \"Execution was cancelled.\",\n retryable: false,\n },\n \"runtime.stopping\": {\n publicMessage: \"The runtime is stopping; retry the request.\",\n retryable: true,\n },\n \"vector.model_unavailable\": {\n publicMessage: \"The embedding model configured for this vector profile is unavailable.\",\n retryable: false,\n },\n \"vector.response_invalid\": {\n publicMessage: \"The embedding response is invalid for this vector profile.\",\n retryable: false,\n },\n \"vector.outcome_unknown\": {\n publicMessage: \"The embedding call was interrupted; its outcome and charges may be unknown.\",\n retryable: false,\n },\n \"storage.unavailable\": {\n publicMessage: \"Storage is temporarily unavailable.\",\n retryable: true,\n },\n \"sync.execution_failed\": {\n publicMessage: \"Sync execution failed.\",\n retryable: false,\n },\n \"webhook.delivery_failed\": {\n publicMessage: \"Webhook delivery failed.\",\n retryable: true,\n },\n \"webhook.delivery_rejected\": {\n publicMessage: \"Webhook delivery was rejected.\",\n retryable: false,\n },\n \"workflow.node_failed\": {\n publicMessage: \"Workflow node execution failed.\",\n retryable: false,\n },\n} as const satisfies Readonly<Record<string, SixbErrorDefinition>>\n\ntype CatalogErrorCode = keyof typeof SIXB_ERROR_DEFINITIONS\n\n/** Runtime counterpart of `SixbErrorCode` for internal schema boundaries. */\nexport const SIXB_ERROR_CODES = Object.freeze(Object.keys(SIXB_ERROR_DEFINITIONS)) as readonly [\n CatalogErrorCode,\n ...CatalogErrorCode[],\n]\n",
|
|
7
7
|
"import type { ReadonlyJsonValue } from \"../json\"\n\nconst REDACTED = \"[REDACTED]\"\nconst MAX_CONTEXT_DEPTH = 12\nconst MAX_CONTEXT_ENTRIES = 1024\nconst SENSITIVE_KEY =\n /password|passwd|passphrase|secret|token|credential|authorization|cookie|privatekey|apikey|accesskey|connectionstring|databaseurl|clientassertion|signature/i\nconst PRIVATE_CONTAINER =\n /^(?:request|response)(?:body|headers)?$|^(?:headers|body|payload|env|environment)$/i\n\nfunction isSensitiveKey(key: string): boolean {\n const normalized = key.replace(/[^a-z0-9]/gi, \"\")\n return SENSITIVE_KEY.test(normalized) || PRIVATE_CONTAINER.test(normalized)\n}\n\n/** Runtime credentials are additional protection for context; never a license to copy errors. */\nfunction environmentSecrets(): string[] {\n return Object.entries(process.env)\n .filter(([key, value]) => isSensitiveKey(key) && value !== undefined && value.length >= 4)\n .map(([, value]) => value as string)\n .sort((a, b) => b.length - a.length)\n}\n\nexport function createFailureRedactor() {\n const secrets = environmentSecrets()\n let redacted = false\n let truncated = false\n let entries = 0\n\n const text = (input: string): string => {\n let value = input\n for (const secret of secrets) {\n value = value\n .split(REDACTED)\n .map((part) => part.split(secret).join(REDACTED))\n .join(REDACTED)\n }\n value = value\n .replace(\n /-----BEGIN [^-]*PRIVATE KEY-----[\\s\\S]*?(?:-----END [^-]*PRIVATE KEY-----|$)/g,\n REDACTED\n )\n .replace(/\\b(?:Bearer|Basic)\\s+[A-Za-z0-9+/_.~=-]+/gi, REDACTED)\n .replace(/\\beyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b/g, REDACTED)\n .replace(\n /\\b(?:sk[-_](?:live[-_]|test[-_]|proj[-_])?[A-Za-z0-9_-]{12,}|gh[pousr]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]+|AKIA[A-Z0-9]{16})\\b/g,\n REDACTED\n )\n // URLs may carry userinfo, signed query parameters, or credentials in the path.\n .replace(/\\b[a-z][a-z0-9+.-]*:\\/\\/[^\\s<>\"']+/gi, REDACTED)\n .replace(\n /[\"']?\\b(?:password|passwd|passphrase|[a-z_-]*secret|[a-z_-]*token|api[-_]?key|authorization|cookie|credential|signature)[\"']?\\s*[=:]\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'|[^\\s,;]+)/gi,\n REDACTED\n )\n if (value !== input) redacted = true\n return value\n }\n\n const context = (value: ReadonlyJsonValue, depth = 0): ReadonlyJsonValue => {\n if (depth > MAX_CONTEXT_DEPTH || entries++ >= MAX_CONTEXT_ENTRIES) {\n truncated = true\n return \"[TRUNCATED]\"\n }\n if (typeof value === \"string\") return text(value)\n if (value === null || typeof value !== \"object\") return value\n if (Array.isArray(value)) {\n const available = Math.max(0, MAX_CONTEXT_ENTRIES - entries)\n if (value.length > available) truncated = true\n return value.slice(0, available).map((entry) => context(entry, depth + 1))\n }\n const result: Record<string, ReadonlyJsonValue> = Object.create(null)\n for (const [key, entry] of Object.entries(value)) {\n if (entries >= MAX_CONTEXT_ENTRIES) {\n truncated = true\n break\n }\n if (isSensitiveKey(key)) {\n redacted = true\n entries++\n result[text(key)] = REDACTED\n } else {\n result[text(key)] = context(entry, depth + 1)\n }\n }\n return result\n }\n\n return {\n text,\n context,\n get redacted() {\n return redacted\n },\n get truncated() {\n return truncated\n },\n }\n}\n",
|
|
8
|
-
"import { cloneJsonValue, isJsonValue, isPlainRecord, type ReadonlyJsonValue } from \"../json\"\nimport { ActionRunFailedError } from \"../objects/action/errors\"\nimport { SIXB_ERROR_CODES, SIXB_ERROR_DEFINITIONS } from \"./catalog\"\nimport { failureMessage } from \"./failure-message\"\nimport { createFailureRedactor } from \"./redaction\"\nimport type { SixbErrorCode, SixbFailure } from \"./types\"\n\nexport const SIXB_FAILURE_MAX_MESSAGE_BYTES = 4 * 1024\nexport const SIXB_FAILURE_MAX_SERIALIZED_BYTES = 32 * 1024\nconst TRUNCATION_SUFFIX = \"… [truncated]\"\nconst SIXB_ERROR_CODE_SET: ReadonlySet<string> = new Set(SIXB_ERROR_CODES)\n\ntype SixbErrorCodeTuple = readonly [SixbErrorCode, ...SixbErrorCode[]]\n\nexport { SIXB_ERROR_CODES }\n\nexport interface SixbErrorOptions {\n readonly cause?: unknown\n readonly details?: ReadonlyJsonValue\n}\n\n/** Internal structural view returned by the factory. The implementing class stays private. */\nexport interface SixbCodedError extends Error {\n readonly code: SixbErrorCode\n readonly retryable: boolean\n readonly details?: ReadonlyJsonValue\n readonly cause?: unknown\n}\n\nexport interface ToSixbFailureOptions {\n /** Timestamp for deterministic persistence. Defaults to the current time. */\n readonly at?: Date\n}\n\nexport interface ToScopedSixbFailureOptions<TCodes extends SixbErrorCodeTuple>\n extends ToSixbFailureOptions {\n /** Codes this boundary is allowed to expose. */\n readonly allowedCodes: TCodes\n}\n\nexport interface CaptureSixbFailureOptions<TCodes extends SixbErrorCodeTuple>\n extends ToScopedSixbFailureOptions<TCodes> {\n /** Code assigned when the captured value is uncoded or outside this boundary's contract. */\n readonly defaultCode: TCodes[number]\n /** Context attached only to the boundary error created for such a captured value. */\n readonly details?: ReadonlyJsonValue\n}\n\n/**\n * The canonical exception used inside Sixb.\n *\n * The class is deliberately not exported: repo-internal callers use the factory and consumers only\n * ever observe serializable `SixbFailure` values.\n */\nclass SixbError extends Error implements SixbCodedError {\n override readonly name = \"SixbError\"\n readonly retryable: boolean\n readonly details?: ReadonlyJsonValue\n\n constructor(\n readonly code: SixbErrorCode,\n message: string,\n options: SixbErrorOptions = {}\n ) {\n super(message, options.cause === undefined ? undefined : { cause: options.cause })\n this.retryable = SIXB_ERROR_DEFINITIONS[code].retryable\n if (options.details !== undefined) {\n this.details = cloneJsonValue(options.details, \"Sixb error details\")\n }\n }\n}\n\n/** Creates a coded internal error without exposing its runtime class. */\nexport function createSixbError(\n code: SixbErrorCode,\n message: string,\n options: SixbErrorOptions = {}\n): SixbCodedError {\n return new SixbError(code, message, options)\n}\n\n/**\n * Captures an unknown terminal error as a scoped durable failure.\n *\n * An already-coded error is preserved only when its code belongs to this boundary. Every other\n * value is wrapped once with the boundary's default code and context before serialization.\n */\nexport function captureSixbFailure<const TCodes extends SixbErrorCodeTuple>(\n error: unknown,\n options: CaptureSixbFailureOptions<TCodes>\n): SixbFailure<TCodes[number]> {\n const allowedCodes = new Set<SixbErrorCode>(options.allowedCodes)\n const codedError =\n isSixbError(error) && allowedCodes.has(error.code)\n ? error\n : createSixbError(options.defaultCode, summarizeErrorMessage(error), {\n cause: error,\n ...(options.details === undefined ? {} : { details: options.details }),\n })\n\n return toSixbFailure(codedError, {\n allowedCodes: options.allowedCodes,\n ...(options.at === undefined ? {} : { at: options.at }),\n })\n}\n\n/** Identifies errors created by Sixb without making their class part of the contract. */\nexport function isSixbError(error: unknown): error is SixbCodedError {\n try {\n return error instanceof SixbError\n } catch {\n return false\n }\n}\n\n/**\n * Takes a detached, serializable snapshot of a coded internal error.\n *\n * Use `captureSixbFailure()` instead when a terminal boundary receives an unknown thrown value.\n */\nexport function toSixbFailure<const TCodes extends SixbErrorCodeTuple>(\n error: SixbCodedError,\n options: ToScopedSixbFailureOptions<TCodes>\n): SixbFailure<TCodes[number]>\nexport function toSixbFailure(error: SixbCodedError, options?: ToSixbFailureOptions): SixbFailure\nexport function toSixbFailure(\n error: SixbCodedError,\n options: ToSixbFailureOptions | ToScopedSixbFailureOptions<SixbErrorCodeTuple> = {}\n): SixbFailure {\n if (!isSixbError(error)) {\n throw new Error(\"[Sixb] A durable failure can only be created from a coded Sixb error.\")\n }\n const allowedCodes = \"allowedCodes\" in options ? new Set(options.allowedCodes) : undefined\n if (allowedCodes && !allowedCodes.has(error.code)) {\n throw new Error(`[Sixb] Error code '${error.code}' is not allowed by this failure contract.`)\n }\n const code = error.code\n const redactor = createFailureRedactor()\n const details = error.details === undefined ? undefined : redactor.context(error.details)\n const { detail, truncated, redacted } = findFailureDetail(error, code)\n const summary = SIXB_ERROR_DEFINITIONS[code].publicMessage\n const explanation = detail?.message ?? summary\n const message = truncateUtf8(\n redactor.text(\n explanation === summary || explanation.startsWith(`${summary} `)\n ? explanation\n : `${summary} ${explanation}`\n ),\n SIXB_FAILURE_MAX_MESSAGE_BYTES\n )\n const failure: SixbFailure = {\n code,\n message: message.value,\n retryable: SIXB_ERROR_DEFINITIONS[code].retryable,\n at: failureTimestamp(options.at),\n ...(details === undefined ? {} : { details: cloneJsonValue(details, \"Sixb failure details\") }),\n ...(detail?.httpStatus === undefined ? {} : { httpStatus: detail.httpStatus }),\n ...(redactor.redacted || redacted ? { redacted: true } : {}),\n ...(message.truncated || truncated || redactor.truncated ? { truncated: true } : {}),\n }\n\n if (serializedByteLength(failure) <= SIXB_FAILURE_MAX_SERIALIZED_BYTES) return failure\n\n return {\n code: failure.code,\n message: failure.message,\n retryable: failure.retryable,\n at: failure.at,\n ...(failure.httpStatus === undefined ? {} : { httpStatus: failure.httpStatus }),\n ...(failure.redacted ? { redacted: true } : {}),\n truncated: true,\n }\n}\n\nconst NETWORK_MESSAGES: Readonly<Record<string, string>> = {\n ECONNREFUSED: \"The remote service refused the connection.\",\n ECONNRESET: \"The remote service reset the connection.\",\n ENOTFOUND: \"The remote host could not be resolved.\",\n EAI_AGAIN: \"DNS resolution temporarily failed.\",\n ETIMEDOUT: \"The connection timed out.\",\n}\n\nfunction isHttpStatus(value: unknown): value is number {\n return typeof value === \"number\" && Number.isInteger(value) && value >= 100 && value <= 599\n}\n\n/** Follow the causal chain without exposing arbitrary messages or discarding deeper statuses. */\nfunction findFailureDetail(\n error: SixbCodedError,\n boundaryCode: SixbErrorCode\n): {\n detail?: { message: string; httpStatus?: number }\n truncated: boolean\n redacted: boolean\n} {\n const seen = new Set<object>()\n const messages = new Set<string>()\n let catalogMessage: string | undefined\n let httpStatus: number | undefined\n let truncated = false\n let redacted = false\n let current: unknown = error\n while (typeof current === \"object\" && current !== null && !seen.has(current)) {\n if (seen.size === 8) {\n truncated = true\n break\n }\n seen.add(current)\n const explanation = failureMessage(current)\n if (explanation) messages.add(explanation)\n try {\n if (current instanceof ActionRunFailedError) {\n // This is an already durable child failure, not arbitrary provider prose. Revalidate it\n // before propagation; do not copy its context over the parent's identity or retry policy.\n const child = parseSixbFailure(Object.getOwnPropertyDescriptor(current, \"error\")?.value)\n messages.add(child.message)\n httpStatus ??= child.httpStatus\n redacted ||= child.redacted === true\n truncated ||= child.truncated === true\n }\n if (\n isSixbError(current) &&\n current.code !== boundaryCode &&\n current.code !== \"internal.unexpected\"\n ) {\n catalogMessage = SIXB_ERROR_DEFINITIONS[current.code].publicMessage\n }\n // Read data properties only: provider accessors, messages and payloads remain private.\n const status =\n Object.getOwnPropertyDescriptor(current, \"status\")?.value ??\n Object.getOwnPropertyDescriptor(current, \"statusCode\")?.value\n if (httpStatus === undefined && isHttpStatus(status)) httpStatus = status\n const code = Object.getOwnPropertyDescriptor(current, \"code\")?.value\n if (typeof code === \"string\" && Object.hasOwn(NETWORK_MESSAGES, code)) {\n messages.add(NETWORK_MESSAGES[code])\n }\n current = Object.getOwnPropertyDescriptor(current, \"cause\")?.value\n } catch {\n break\n }\n }\n if (messages.size === 0 && catalogMessage) messages.add(catalogMessage)\n if (httpStatus !== undefined) {\n const statusMessage = `Upstream request returned HTTP ${httpStatus}.`\n if (![...messages].some((message) => message.includes(statusMessage)))\n messages.add(statusMessage)\n }\n return {\n ...(messages.size === 0 ? {} : { detail: { message: [...messages].join(\" \"), httpStatus } }),\n truncated,\n redacted,\n }\n}\n\n/** Serializes a validated failure for durable storage. */\nexport function serializeSixbFailure<const TCodes extends SixbErrorCodeTuple>(\n failure: SixbFailure<TCodes[number]>,\n allowedCodes: TCodes\n): string\nexport function serializeSixbFailure(failure: SixbFailure): string\nexport function serializeSixbFailure(\n failure: SixbFailure,\n allowedCodes?: SixbErrorCodeTuple\n): string {\n const parsed = allowedCodes ? parseSixbFailure(failure, allowedCodes) : parseSixbFailure(failure)\n return JSON.stringify(parsed)\n}\n\n/**\n * Validates and detaches a failure read from a storage boundary.\n *\n * Strings are accepted for SQLite; PostgreSQL adapters can pass their decoded JSON value directly.\n */\nexport function parseSixbFailure<const TCodes extends SixbErrorCodeTuple>(\n value: unknown,\n allowedCodes: TCodes\n): SixbFailure<TCodes[number]>\nexport function parseSixbFailure(value: unknown): SixbFailure\nexport function parseSixbFailure(\n value: unknown,\n allowedCodes: SixbErrorCodeTuple = SIXB_ERROR_CODES\n): SixbFailure {\n const candidate = parseStoredFailureValue(value)\n if (!isPlainRecord(candidate)) {\n throw invalidStoredFailure(\"expected a JSON object\")\n }\n\n const { code, message, retryable, at, details, httpStatus, redacted, truncated } = candidate\n if (typeof code !== \"string\" || !SIXB_ERROR_CODE_SET.has(code)) {\n throw invalidStoredFailure(\"code is not a known Sixb error code\")\n }\n if (!(allowedCodes as readonly string[]).includes(code)) {\n throw invalidStoredFailure(\"code is not allowed by this failure contract\")\n }\n if (typeof message !== \"string\") {\n throw invalidStoredFailure(\"message is not a string\")\n }\n if (utf8ByteLength(message) > SIXB_FAILURE_MAX_MESSAGE_BYTES) {\n throw invalidStoredFailure(`message exceeds ${SIXB_FAILURE_MAX_MESSAGE_BYTES} UTF-8 bytes`)\n }\n if (typeof retryable !== \"boolean\") {\n throw invalidStoredFailure(\"retryable is not a boolean\")\n }\n if (retryable !== SIXB_ERROR_DEFINITIONS[code as SixbErrorCode].retryable) {\n throw invalidStoredFailure(\"retryable does not match the error code policy\")\n }\n if (typeof at !== \"string\" || !isCanonicalIsoTimestamp(at)) {\n throw invalidStoredFailure(\"at is not a canonical ISO-8601 timestamp\")\n }\n if (details !== undefined && !isJsonValue(details)) {\n throw invalidStoredFailure(\"details is not a JSON value\")\n }\n if (truncated !== undefined && truncated !== true) {\n throw invalidStoredFailure(\"truncated must be true when present\")\n }\n\n if (redacted !== undefined && redacted !== true) {\n throw invalidStoredFailure(\"redacted must be true when present\")\n }\n if (httpStatus !== undefined && !isHttpStatus(httpStatus)) {\n throw invalidStoredFailure(\"httpStatus must be an integer HTTP status\")\n }\n const redactor = createFailureRedactor()\n const safeMessage = truncateUtf8(redactor.text(message), SIXB_FAILURE_MAX_MESSAGE_BYTES)\n const safeDetails =\n details === undefined ? undefined : redactor.context(details as ReadonlyJsonValue)\n\n const failure: SixbFailure = {\n code: code as SixbErrorCode,\n message: safeMessage.value,\n retryable,\n at,\n ...(safeDetails === undefined\n ? {}\n : { details: cloneJsonValue(safeDetails, \"Stored Sixb failure details\") }),\n ...(httpStatus === undefined ? {} : { httpStatus: httpStatus as number }),\n ...(redacted || redactor.redacted ? { redacted: true } : {}),\n ...(truncated || redactor.truncated || safeMessage.truncated ? { truncated: true } : {}),\n }\n if (serializedByteLength(failure) > SIXB_FAILURE_MAX_SERIALIZED_BYTES) {\n throw invalidStoredFailure(\n `record exceeds ${SIXB_FAILURE_MAX_SERIALIZED_BYTES} serialized UTF-8 bytes`\n )\n }\n return failure\n}\n\nfunction parseStoredFailureValue(value: unknown): unknown {\n if (typeof value !== \"string\") return value\n try {\n return JSON.parse(value) as unknown\n } catch {\n throw invalidStoredFailure(\"value is not valid JSON\")\n }\n}\n\nfunction isCanonicalIsoTimestamp(value: string): boolean {\n const timestamp = new Date(value)\n return Number.isFinite(timestamp.getTime()) && timestamp.toISOString() === value\n}\n\nfunction invalidStoredFailure(reason: string): Error {\n return new Error(`[Sixb] Stored failure is invalid: ${reason}.`)\n}\n\n/**\n * Extracts a diagnostic message for an internal error or log entry.\n *\n * The result can contain provider data and must not be persisted or returned by an API.\n * `toSixbFailure()` constructs a message from recognized HTTP, network, or Sixb information instead.\n */\nexport function summarizeErrorMessage(value: unknown, fallback?: string): string {\n const message = readStringProperty(value, \"message\")\n if (message !== undefined) return message\n if (typeof value === \"string\") return value\n return fallback ?? safeString(value)\n}\n\nfunction readStringProperty(value: unknown, property: \"message\"): string | undefined {\n if (!isObjectLike(value)) return undefined\n try {\n const result = Reflect.get(value, property)\n return typeof result === \"string\" ? result : undefined\n } catch {\n return undefined\n }\n}\n\nfunction isObjectLike(value: unknown): value is object {\n return (typeof value === \"object\" && value !== null) || typeof value === \"function\"\n}\n\nfunction safeString(value: unknown): string {\n try {\n return String(value)\n } catch {\n return \"Unknown thrown value\"\n }\n}\n\nfunction failureTimestamp(at: Date | undefined): string {\n const timestamp = at ?? new Date()\n if (!Number.isFinite(timestamp.getTime())) {\n throw new Error(\"[Sixb] Failure timestamp must be a valid Date.\")\n }\n return timestamp.toISOString()\n}\n\nfunction serializedByteLength(value: SixbFailure): number {\n return utf8ByteLength(JSON.stringify(value))\n}\n\nfunction utf8ByteLength(value: string): number {\n return new TextEncoder().encode(value).byteLength\n}\n\nfunction truncateUtf8(value: string, maxBytes: number): { value: string; truncated: boolean } {\n if (utf8ByteLength(value) <= maxBytes) return { value, truncated: false }\n\n const suffixBytes = utf8ByteLength(TRUNCATION_SUFFIX)\n const characters = Array.from(value)\n let low = 0\n let high = characters.length\n while (low < high) {\n const middle = Math.ceil((low + high) / 2)\n if (utf8ByteLength(characters.slice(0, middle).join(\"\")) + suffixBytes <= maxBytes) {\n low = middle\n } else {\n high = middle - 1\n }\n }\n\n return { value: `${characters.slice(0, low).join(\"\")}${TRUNCATION_SUFFIX}`, truncated: true }\n}\n"
|
|
8
|
+
"import { cloneJsonValue, isJsonValue, isPlainRecord, type ReadonlyJsonValue } from \"../json\"\nimport { ActionRunFailedError } from \"../objects/action/errors\"\nimport { SIXB_ERROR_CODES, SIXB_ERROR_DEFINITIONS } from \"./catalog\"\nimport { failureMessage } from \"./failure-message\"\nimport { createFailureRedactor } from \"./redaction\"\nimport type { SixbErrorCode, SixbFailure } from \"./types\"\n\nexport const SIXB_FAILURE_MAX_MESSAGE_BYTES = 4 * 1024\nexport const SIXB_FAILURE_MAX_SERIALIZED_BYTES = 32 * 1024\nconst TRUNCATION_SUFFIX = \"… [truncated]\"\nconst SIXB_ERROR_CODE_SET: ReadonlySet<string> = new Set(SIXB_ERROR_CODES)\n\ntype SixbErrorCodeTuple = readonly [SixbErrorCode, ...SixbErrorCode[]]\n\nexport { SIXB_ERROR_CODES }\nexport { withFailureMessage } from \"./failure-message\"\n\nexport interface SixbErrorOptions {\n readonly cause?: unknown\n readonly details?: ReadonlyJsonValue\n}\n\n/** Internal structural view returned by the factory. The implementing class stays private. */\nexport interface SixbCodedError extends Error {\n readonly code: SixbErrorCode\n readonly retryable: boolean\n readonly details?: ReadonlyJsonValue\n readonly cause?: unknown\n}\n\nexport interface ToSixbFailureOptions {\n /** Timestamp for deterministic persistence. Defaults to the current time. */\n readonly at?: Date\n}\n\nexport interface ToScopedSixbFailureOptions<TCodes extends SixbErrorCodeTuple>\n extends ToSixbFailureOptions {\n /** Codes this boundary is allowed to expose. */\n readonly allowedCodes: TCodes\n}\n\nexport interface CaptureSixbFailureOptions<TCodes extends SixbErrorCodeTuple>\n extends ToScopedSixbFailureOptions<TCodes> {\n /** Code assigned when the captured value is uncoded or outside this boundary's contract. */\n readonly defaultCode: TCodes[number]\n /** Context attached only to the boundary error created for such a captured value. */\n readonly details?: ReadonlyJsonValue\n}\n\n/**\n * The canonical exception used inside Sixb.\n *\n * The class is deliberately not exported: repo-internal callers use the factory and consumers only\n * ever observe serializable `SixbFailure` values.\n */\nclass SixbError extends Error implements SixbCodedError {\n override readonly name = \"SixbError\"\n readonly retryable: boolean\n readonly details?: ReadonlyJsonValue\n\n constructor(\n readonly code: SixbErrorCode,\n message: string,\n options: SixbErrorOptions = {}\n ) {\n super(message, options.cause === undefined ? undefined : { cause: options.cause })\n this.retryable = SIXB_ERROR_DEFINITIONS[code].retryable\n if (options.details !== undefined) {\n this.details = cloneJsonValue(options.details, \"Sixb error details\")\n }\n }\n}\n\n/** Creates a coded internal error without exposing its runtime class. */\nexport function createSixbError(\n code: SixbErrorCode,\n message: string,\n options: SixbErrorOptions = {}\n): SixbCodedError {\n return new SixbError(code, message, options)\n}\n\n/**\n * Captures an unknown terminal error as a scoped durable failure.\n *\n * An already-coded error is preserved only when its code belongs to this boundary. Every other\n * value is wrapped once with the boundary's default code and context before serialization.\n */\nexport function captureSixbFailure<const TCodes extends SixbErrorCodeTuple>(\n error: unknown,\n options: CaptureSixbFailureOptions<TCodes>\n): SixbFailure<TCodes[number]> {\n const allowedCodes = new Set<SixbErrorCode>(options.allowedCodes)\n const codedError =\n isSixbError(error) && allowedCodes.has(error.code)\n ? error\n : createSixbError(options.defaultCode, summarizeErrorMessage(error), {\n cause: error,\n ...(options.details === undefined ? {} : { details: options.details }),\n })\n\n return toSixbFailure(codedError, {\n allowedCodes: options.allowedCodes,\n ...(options.at === undefined ? {} : { at: options.at }),\n })\n}\n\n/** Identifies errors created by Sixb without making their class part of the contract. */\nexport function isSixbError(error: unknown): error is SixbCodedError {\n try {\n return error instanceof SixbError\n } catch {\n return false\n }\n}\n\n/**\n * Takes a detached, serializable snapshot of a coded internal error.\n *\n * Use `captureSixbFailure()` instead when a terminal boundary receives an unknown thrown value.\n */\nexport function toSixbFailure<const TCodes extends SixbErrorCodeTuple>(\n error: SixbCodedError,\n options: ToScopedSixbFailureOptions<TCodes>\n): SixbFailure<TCodes[number]>\nexport function toSixbFailure(error: SixbCodedError, options?: ToSixbFailureOptions): SixbFailure\nexport function toSixbFailure(\n error: SixbCodedError,\n options: ToSixbFailureOptions | ToScopedSixbFailureOptions<SixbErrorCodeTuple> = {}\n): SixbFailure {\n if (!isSixbError(error)) {\n throw new Error(\"[Sixb] A durable failure can only be created from a coded Sixb error.\")\n }\n const allowedCodes = \"allowedCodes\" in options ? new Set(options.allowedCodes) : undefined\n if (allowedCodes && !allowedCodes.has(error.code)) {\n throw new Error(`[Sixb] Error code '${error.code}' is not allowed by this failure contract.`)\n }\n const code = error.code\n const redactor = createFailureRedactor()\n const details = error.details === undefined ? undefined : redactor.context(error.details)\n const { detail, truncated, redacted } = findFailureDetail(error, code)\n const summary = SIXB_ERROR_DEFINITIONS[code].publicMessage\n const explanation = detail?.message ?? summary\n const message = truncateUtf8(\n redactor.text(\n explanation === summary || explanation.startsWith(`${summary} `)\n ? explanation\n : `${summary} ${explanation}`\n ),\n SIXB_FAILURE_MAX_MESSAGE_BYTES\n )\n const failure: SixbFailure = {\n code,\n message: message.value,\n retryable: SIXB_ERROR_DEFINITIONS[code].retryable,\n at: failureTimestamp(options.at),\n ...(details === undefined ? {} : { details: cloneJsonValue(details, \"Sixb failure details\") }),\n ...(detail?.httpStatus === undefined ? {} : { httpStatus: detail.httpStatus }),\n ...(redactor.redacted || redacted ? { redacted: true } : {}),\n ...(message.truncated || truncated || redactor.truncated ? { truncated: true } : {}),\n }\n\n if (serializedByteLength(failure) <= SIXB_FAILURE_MAX_SERIALIZED_BYTES) return failure\n\n return {\n code: failure.code,\n message: failure.message,\n retryable: failure.retryable,\n at: failure.at,\n ...(failure.httpStatus === undefined ? {} : { httpStatus: failure.httpStatus }),\n ...(failure.redacted ? { redacted: true } : {}),\n truncated: true,\n }\n}\n\nconst NETWORK_MESSAGES: Readonly<Record<string, string>> = {\n ECONNREFUSED: \"The remote service refused the connection.\",\n ECONNRESET: \"The remote service reset the connection.\",\n ENOTFOUND: \"The remote host could not be resolved.\",\n EAI_AGAIN: \"DNS resolution temporarily failed.\",\n ETIMEDOUT: \"The connection timed out.\",\n}\n\nfunction isHttpStatus(value: unknown): value is number {\n return typeof value === \"number\" && Number.isInteger(value) && value >= 100 && value <= 599\n}\n\n/** Follow the causal chain without exposing arbitrary messages or discarding deeper statuses. */\nfunction findFailureDetail(\n error: SixbCodedError,\n boundaryCode: SixbErrorCode\n): {\n detail?: { message: string; httpStatus?: number }\n truncated: boolean\n redacted: boolean\n} {\n const seen = new Set<object>()\n const messages = new Set<string>()\n let catalogMessage: string | undefined\n let httpStatus: number | undefined\n let truncated = false\n let redacted = false\n let current: unknown = error\n while (typeof current === \"object\" && current !== null && !seen.has(current)) {\n if (seen.size === 8) {\n truncated = true\n break\n }\n seen.add(current)\n const explanation = failureMessage(current)\n if (explanation) messages.add(explanation)\n try {\n if (current instanceof ActionRunFailedError) {\n // This is an already durable child failure, not arbitrary provider prose. Revalidate it\n // before propagation; do not copy its context over the parent's identity or retry policy.\n const child = parseSixbFailure(Object.getOwnPropertyDescriptor(current, \"error\")?.value)\n messages.add(child.message)\n httpStatus ??= child.httpStatus\n redacted ||= child.redacted === true\n truncated ||= child.truncated === true\n }\n if (\n isSixbError(current) &&\n current.code !== boundaryCode &&\n current.code !== \"internal.unexpected\"\n ) {\n catalogMessage = SIXB_ERROR_DEFINITIONS[current.code].publicMessage\n }\n // Read data properties only: provider accessors, messages and payloads remain private.\n const status =\n Object.getOwnPropertyDescriptor(current, \"status\")?.value ??\n Object.getOwnPropertyDescriptor(current, \"statusCode\")?.value\n if (httpStatus === undefined && isHttpStatus(status)) httpStatus = status\n const code = Object.getOwnPropertyDescriptor(current, \"code\")?.value\n if (typeof code === \"string\" && Object.hasOwn(NETWORK_MESSAGES, code)) {\n messages.add(NETWORK_MESSAGES[code])\n }\n current = Object.getOwnPropertyDescriptor(current, \"cause\")?.value\n } catch {\n break\n }\n }\n if (messages.size === 0 && catalogMessage) messages.add(catalogMessage)\n if (httpStatus !== undefined) {\n const statusMessage = `Upstream request returned HTTP ${httpStatus}.`\n if (![...messages].some((message) => message.includes(statusMessage)))\n messages.add(statusMessage)\n }\n return {\n ...(messages.size === 0 ? {} : { detail: { message: [...messages].join(\" \"), httpStatus } }),\n truncated,\n redacted,\n }\n}\n\n/** Serializes a validated failure for durable storage. */\nexport function serializeSixbFailure<const TCodes extends SixbErrorCodeTuple>(\n failure: SixbFailure<TCodes[number]>,\n allowedCodes: TCodes\n): string\nexport function serializeSixbFailure(failure: SixbFailure): string\nexport function serializeSixbFailure(\n failure: SixbFailure,\n allowedCodes?: SixbErrorCodeTuple\n): string {\n const parsed = allowedCodes ? parseSixbFailure(failure, allowedCodes) : parseSixbFailure(failure)\n return JSON.stringify(parsed)\n}\n\n/**\n * Validates and detaches a failure read from a storage boundary.\n *\n * Strings are accepted for SQLite; PostgreSQL adapters can pass their decoded JSON value directly.\n */\nexport function parseSixbFailure<const TCodes extends SixbErrorCodeTuple>(\n value: unknown,\n allowedCodes: TCodes\n): SixbFailure<TCodes[number]>\nexport function parseSixbFailure(value: unknown): SixbFailure\nexport function parseSixbFailure(\n value: unknown,\n allowedCodes: SixbErrorCodeTuple = SIXB_ERROR_CODES\n): SixbFailure {\n const candidate = parseStoredFailureValue(value)\n if (!isPlainRecord(candidate)) {\n throw invalidStoredFailure(\"expected a JSON object\")\n }\n\n const { code, message, retryable, at, details, httpStatus, redacted, truncated } = candidate\n if (typeof code !== \"string\" || !SIXB_ERROR_CODE_SET.has(code)) {\n throw invalidStoredFailure(\"code is not a known Sixb error code\")\n }\n if (!(allowedCodes as readonly string[]).includes(code)) {\n throw invalidStoredFailure(\"code is not allowed by this failure contract\")\n }\n if (typeof message !== \"string\") {\n throw invalidStoredFailure(\"message is not a string\")\n }\n if (utf8ByteLength(message) > SIXB_FAILURE_MAX_MESSAGE_BYTES) {\n throw invalidStoredFailure(`message exceeds ${SIXB_FAILURE_MAX_MESSAGE_BYTES} UTF-8 bytes`)\n }\n if (typeof retryable !== \"boolean\") {\n throw invalidStoredFailure(\"retryable is not a boolean\")\n }\n if (retryable !== SIXB_ERROR_DEFINITIONS[code as SixbErrorCode].retryable) {\n throw invalidStoredFailure(\"retryable does not match the error code policy\")\n }\n if (typeof at !== \"string\" || !isCanonicalIsoTimestamp(at)) {\n throw invalidStoredFailure(\"at is not a canonical ISO-8601 timestamp\")\n }\n if (details !== undefined && !isJsonValue(details)) {\n throw invalidStoredFailure(\"details is not a JSON value\")\n }\n if (truncated !== undefined && truncated !== true) {\n throw invalidStoredFailure(\"truncated must be true when present\")\n }\n\n if (redacted !== undefined && redacted !== true) {\n throw invalidStoredFailure(\"redacted must be true when present\")\n }\n if (httpStatus !== undefined && !isHttpStatus(httpStatus)) {\n throw invalidStoredFailure(\"httpStatus must be an integer HTTP status\")\n }\n const redactor = createFailureRedactor()\n const safeMessage = truncateUtf8(redactor.text(message), SIXB_FAILURE_MAX_MESSAGE_BYTES)\n const safeDetails =\n details === undefined ? undefined : redactor.context(details as ReadonlyJsonValue)\n\n const failure: SixbFailure = {\n code: code as SixbErrorCode,\n message: safeMessage.value,\n retryable,\n at,\n ...(safeDetails === undefined\n ? {}\n : { details: cloneJsonValue(safeDetails, \"Stored Sixb failure details\") }),\n ...(httpStatus === undefined ? {} : { httpStatus: httpStatus as number }),\n ...(redacted || redactor.redacted ? { redacted: true } : {}),\n ...(truncated || redactor.truncated || safeMessage.truncated ? { truncated: true } : {}),\n }\n if (serializedByteLength(failure) > SIXB_FAILURE_MAX_SERIALIZED_BYTES) {\n throw invalidStoredFailure(\n `record exceeds ${SIXB_FAILURE_MAX_SERIALIZED_BYTES} serialized UTF-8 bytes`\n )\n }\n return failure\n}\n\nfunction parseStoredFailureValue(value: unknown): unknown {\n if (typeof value !== \"string\") return value\n try {\n return JSON.parse(value) as unknown\n } catch {\n throw invalidStoredFailure(\"value is not valid JSON\")\n }\n}\n\nfunction isCanonicalIsoTimestamp(value: string): boolean {\n const timestamp = new Date(value)\n return Number.isFinite(timestamp.getTime()) && timestamp.toISOString() === value\n}\n\nfunction invalidStoredFailure(reason: string): Error {\n return new Error(`[Sixb] Stored failure is invalid: ${reason}.`)\n}\n\n/**\n * Extracts a diagnostic message for an internal error or log entry.\n *\n * The result can contain provider data and must not be persisted or returned by an API.\n * `toSixbFailure()` constructs a message from recognized HTTP, network, or Sixb information instead.\n */\nexport function summarizeErrorMessage(value: unknown, fallback?: string): string {\n const message = readStringProperty(value, \"message\")\n if (message !== undefined) return message\n if (typeof value === \"string\") return value\n return fallback ?? safeString(value)\n}\n\nfunction readStringProperty(value: unknown, property: \"message\"): string | undefined {\n if (!isObjectLike(value)) return undefined\n try {\n const result = Reflect.get(value, property)\n return typeof result === \"string\" ? result : undefined\n } catch {\n return undefined\n }\n}\n\nfunction isObjectLike(value: unknown): value is object {\n return (typeof value === \"object\" && value !== null) || typeof value === \"function\"\n}\n\nfunction safeString(value: unknown): string {\n try {\n return String(value)\n } catch {\n return \"Unknown thrown value\"\n }\n}\n\nfunction failureTimestamp(at: Date | undefined): string {\n const timestamp = at ?? new Date()\n if (!Number.isFinite(timestamp.getTime())) {\n throw new Error(\"[Sixb] Failure timestamp must be a valid Date.\")\n }\n return timestamp.toISOString()\n}\n\nfunction serializedByteLength(value: SixbFailure): number {\n return utf8ByteLength(JSON.stringify(value))\n}\n\nfunction utf8ByteLength(value: string): number {\n return new TextEncoder().encode(value).byteLength\n}\n\nfunction truncateUtf8(value: string, maxBytes: number): { value: string; truncated: boolean } {\n if (utf8ByteLength(value) <= maxBytes) return { value, truncated: false }\n\n const suffixBytes = utf8ByteLength(TRUNCATION_SUFFIX)\n const characters = Array.from(value)\n let low = 0\n let high = characters.length\n while (low < high) {\n const middle = Math.ceil((low + high) / 2)\n if (utf8ByteLength(characters.slice(0, middle).join(\"\")) + suffixBytes <= maxBytes) {\n low = middle\n } else {\n high = middle - 1\n }\n }\n\n return { value: `${characters.slice(0, low).join(\"\")}${TRUNCATION_SUFFIX}`, truncated: true }\n}\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "48CD609D4698CD6364756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -2,20 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getDatasetSequenceValidationError,
|
|
4
4
|
getDatasetRowValidationError2
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-q5e5tv4b.js";
|
|
6
|
+
import {
|
|
7
|
+
LakeStorageError2
|
|
8
|
+
} from "./chunk-65abf64x.js";
|
|
6
9
|
import {
|
|
7
10
|
isPlainRecord
|
|
8
11
|
} from "./chunk-wy0qdqfm.js";
|
|
9
12
|
|
|
10
|
-
// src/lake-storage/errors.ts
|
|
11
|
-
class LakeStorageError2 extends Error {
|
|
12
|
-
name = "LakeStorageError";
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
class LakeConcurrencyError2 extends LakeStorageError2 {
|
|
16
|
-
name = "LakeConcurrencyError";
|
|
17
|
-
}
|
|
18
|
-
|
|
19
13
|
// src/lake-storage/merge-validation.ts
|
|
20
14
|
function getDatasetPrimaryKeyColumns2(dataset) {
|
|
21
15
|
if (dataset.primaryKey === undefined) {
|
|
@@ -106,6 +100,6 @@ function getDeleteKeyValidationError(key, dataset, primaryKeyColumns) {
|
|
|
106
100
|
return null;
|
|
107
101
|
}
|
|
108
102
|
|
|
109
|
-
export {
|
|
103
|
+
export { getDatasetPrimaryKeyColumns2, encodeDatasetPrimaryKey2, getDatasetMergeChangeValidationError2, cloneDatasetMergeChange2 };
|
|
110
104
|
|
|
111
|
-
//# debugId=
|
|
105
|
+
//# debugId=359232C4BC4673D764756E2164756E21
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/lake-storage/
|
|
3
|
+
"sources": ["../src/lake-storage/merge-validation.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"/**\n * Error for lake-storage invariants and invalid lake operations.\n */\nexport class LakeStorageError extends Error {\n readonly name: string = \"LakeStorageError\"\n}\n\n/** A known, uncommitted version/transaction conflict; safe to retry staged changes. */\nexport class LakeConcurrencyError extends LakeStorageError {\n override readonly name = \"LakeConcurrencyError\"\n}\n",
|
|
6
5
|
"import type { DatasetDefinition, MergeChange } from \"../datasets\"\nimport { getDatasetRowValidationError } from \"../datasets\"\nimport { getDatasetSequenceValidationError } from \"../datasets/sequence\"\nimport { isPlainRecord } from \"../json\"\nimport { LakeStorageError } from \"./errors\"\nimport type { DatasetRow } from \"./types\"\n\n/** Return a new ordered primary-key column list, or `null` for an unkeyed dataset. */\nexport function getDatasetPrimaryKeyColumns(dataset: DatasetDefinition): readonly string[] | null {\n if (dataset.primaryKey === undefined) {\n return null\n }\n return typeof dataset.primaryKey === \"string\" ? [dataset.primaryKey] : [...dataset.primaryKey]\n}\n\n/** Collision-safe internal identity for a validated row or delete-key object. */\nexport function encodeDatasetPrimaryKey(dataset: DatasetDefinition, value: DatasetRow): string {\n const columns = getDatasetPrimaryKeyColumns(dataset)\n if (columns === null) {\n throw new LakeStorageError(\n `[SixbLake] Dataset '${dataset.id}' must define a primaryKey before rows can be keyed.`\n )\n }\n\n const values = columns.map((columnName) => {\n const columnValue = value[columnName]\n if (typeof columnValue !== \"string\") {\n throw new LakeStorageError(\n `[SixbLake] Dataset '${dataset.id}' primary-key column '${columnName}' must be a string.`\n )\n }\n return columnValue\n })\n return JSON.stringify(values)\n}\n\nexport function getDatasetMergeChangeValidationError(\n change: unknown,\n dataset: DatasetDefinition\n): string | null {\n const primaryKeyColumns = getDatasetPrimaryKeyColumns(dataset)\n if (primaryKeyColumns === null) {\n return `Dataset '${dataset.id}' must define a primaryKey before it can be merged.`\n }\n if (!isPlainRecord(change)) {\n return `Dataset '${dataset.id}' merge changes must be plain objects.`\n }\n\n if (change.kind === \"upsert\") {\n const shapeError = getChangeShapeError(change, dataset, \"row\")\n if (shapeError) {\n return shapeError\n }\n return getDatasetRowValidationError(change.row, dataset)\n }\n\n if (change.kind === \"delete\") {\n const shapeError = getChangeShapeError(change, dataset, \"key\")\n if (shapeError) {\n return shapeError\n }\n const keyError = getDeleteKeyValidationError(change.key, dataset, primaryKeyColumns)\n if (keyError) return keyError\n return dataset.sequenceBy === undefined\n ? null\n : getDatasetSequenceValidationError(dataset, change.sequence)\n }\n\n return `Dataset '${dataset.id}' merge change kind must be 'upsert' or 'delete'.`\n}\n\n/** Clone a validated change before a provider stages it beyond the caller's ownership. */\nexport function cloneDatasetMergeChange(\n change: MergeChange<DatasetRow, DatasetRow>\n): MergeChange<DatasetRow, DatasetRow> {\n return change.kind === \"upsert\"\n ? { kind: \"upsert\", row: structuredClone(change.row) }\n : {\n kind: \"delete\",\n key: structuredClone(change.key),\n ...(change.sequence !== undefined ? { sequence: structuredClone(change.sequence) } : {}),\n }\n}\n\nfunction getChangeShapeError(\n change: Record<string, unknown>,\n dataset: DatasetDefinition,\n payloadField: \"row\" | \"key\"\n): string | null {\n const allowedFields = new Set([\"kind\", payloadField])\n if (payloadField === \"key\" && dataset.sequenceBy !== undefined) allowedFields.add(\"sequence\")\n for (const field of Object.keys(change)) {\n if (!allowedFields.has(field)) {\n return `Dataset '${dataset.id}' ${change.kind as string} change contains unknown field '${field}'.`\n }\n }\n if (!Object.hasOwn(change, payloadField)) {\n return `Dataset '${dataset.id}' ${change.kind as string} change is missing '${payloadField}'.`\n }\n return null\n}\n\nfunction getDeleteKeyValidationError(\n key: unknown,\n dataset: DatasetDefinition,\n primaryKeyColumns: readonly string[]\n): string | null {\n if (!isPlainRecord(key)) {\n return `Dataset '${dataset.id}' delete keys must be plain objects.`\n }\n\n const expectedColumns = new Set(primaryKeyColumns)\n for (const columnName of Object.keys(key)) {\n if (!expectedColumns.has(columnName)) {\n return `Dataset '${dataset.id}' delete key contains unknown column '${columnName}'.`\n }\n }\n for (const columnName of primaryKeyColumns) {\n if (!Object.hasOwn(key, columnName)) {\n return `Dataset '${dataset.id}' delete key is missing primary-key column '${columnName}'.`\n }\n if (typeof key[columnName] !== \"string\") {\n return `Dataset '${dataset.id}' delete key column '${columnName}' must be a string.`\n }\n }\n return null\n}\n"
|
|
7
6
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;AAQO,SAAS,4BAA2B,CAAC,SAAsD;AAAA,EAChG,IAAI,QAAQ,eAAe,WAAW;AAAA,IACpC,OAAO;AAAA,EACT;AAAA,EACA,OAAO,OAAO,QAAQ,eAAe,WAAW,CAAC,QAAQ,UAAU,IAAI,CAAC,GAAG,QAAQ,UAAU;AAAA;AAIxF,SAAS,wBAAuB,CAAC,SAA4B,OAA2B;AAAA,EAC7F,MAAM,UAAU,6BAA4B,OAAO;AAAA,EACnD,IAAI,YAAY,MAAM;AAAA,IACpB,MAAM,IAAI,kBACR,uBAAuB,QAAQ,wDACjC;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,QAAQ,IAAI,CAAC,eAAe;AAAA,IACzC,MAAM,cAAc,MAAM;AAAA,IAC1B,IAAI,OAAO,gBAAgB,UAAU;AAAA,MACnC,MAAM,IAAI,kBACR,uBAAuB,QAAQ,2BAA2B,+BAC5D;AAAA,IACF;AAAA,IACA,OAAO;AAAA,GACR;AAAA,EACD,OAAO,KAAK,UAAU,MAAM;AAAA;AAGvB,SAAS,qCAAoC,CAClD,QACA,SACe;AAAA,EACf,MAAM,oBAAoB,6BAA4B,OAAO;AAAA,EAC7D,IAAI,sBAAsB,MAAM;AAAA,IAC9B,OAAO,YAAY,QAAQ;AAAA,EAC7B;AAAA,EACA,IAAI,CAAC,cAAc,MAAM,GAAG;AAAA,IAC1B,OAAO,YAAY,QAAQ;AAAA,EAC7B;AAAA,EAEA,IAAI,OAAO,SAAS,UAAU;AAAA,IAC5B,MAAM,aAAa,oBAAoB,QAAQ,SAAS,KAAK;AAAA,IAC7D,IAAI,YAAY;AAAA,MACd,OAAO;AAAA,IACT;AAAA,IACA,OAAO,8BAA6B,OAAO,KAAK,OAAO;AAAA,EACzD;AAAA,EAEA,IAAI,OAAO,SAAS,UAAU;AAAA,IAC5B,MAAM,aAAa,oBAAoB,QAAQ,SAAS,KAAK;AAAA,IAC7D,IAAI,YAAY;AAAA,MACd,OAAO;AAAA,IACT;AAAA,IACA,MAAM,WAAW,4BAA4B,OAAO,KAAK,SAAS,iBAAiB;AAAA,IACnF,IAAI;AAAA,MAAU,OAAO;AAAA,IACrB,OAAO,QAAQ,eAAe,YAC1B,OACA,kCAAkC,SAAS,OAAO,QAAQ;AAAA,EAChE;AAAA,EAEA,OAAO,YAAY,QAAQ;AAAA;AAItB,SAAS,wBAAuB,CACrC,QACqC;AAAA,EACrC,OAAO,OAAO,SAAS,WACnB,EAAE,MAAM,UAAU,KAAK,gBAAgB,OAAO,GAAG,EAAE,IACnD;AAAA,IACE,MAAM;AAAA,IACN,KAAK,gBAAgB,OAAO,GAAG;AAAA,OAC3B,OAAO,aAAa,YAAY,EAAE,UAAU,gBAAgB,OAAO,QAAQ,EAAE,IAAI,CAAC;AAAA,EACxF;AAAA;AAGN,SAAS,mBAAmB,CAC1B,QACA,SACA,cACe;AAAA,EACf,MAAM,gBAAgB,IAAI,IAAI,CAAC,QAAQ,YAAY,CAAC;AAAA,EACpD,IAAI,iBAAiB,SAAS,QAAQ,eAAe;AAAA,IAAW,cAAc,IAAI,UAAU;AAAA,EAC5F,WAAW,SAAS,OAAO,KAAK,MAAM,GAAG;AAAA,IACvC,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG;AAAA,MAC7B,OAAO,YAAY,QAAQ,OAAO,OAAO,uCAAiD;AAAA,IAC5F;AAAA,EACF;AAAA,EACA,IAAI,CAAC,OAAO,OAAO,QAAQ,YAAY,GAAG;AAAA,IACxC,OAAO,YAAY,QAAQ,OAAO,OAAO,2BAAqC;AAAA,EAChF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,2BAA2B,CAClC,KACA,SACA,mBACe;AAAA,EACf,IAAI,CAAC,cAAc,GAAG,GAAG;AAAA,IACvB,OAAO,YAAY,QAAQ;AAAA,EAC7B;AAAA,EAEA,MAAM,kBAAkB,IAAI,IAAI,iBAAiB;AAAA,EACjD,WAAW,cAAc,OAAO,KAAK,GAAG,GAAG;AAAA,IACzC,IAAI,CAAC,gBAAgB,IAAI,UAAU,GAAG;AAAA,MACpC,OAAO,YAAY,QAAQ,2CAA2C;AAAA,IACxE;AAAA,EACF;AAAA,EACA,WAAW,cAAc,mBAAmB;AAAA,IAC1C,IAAI,CAAC,OAAO,OAAO,KAAK,UAAU,GAAG;AAAA,MACnC,OAAO,YAAY,QAAQ,iDAAiD;AAAA,IAC9E;AAAA,IACA,IAAI,OAAO,IAAI,gBAAgB,UAAU;AAAA,MACvC,OAAO,YAAY,QAAQ,0BAA0B;AAAA,IACvD;AAAA,EACF;AAAA,EACA,OAAO;AAAA;",
|
|
8
|
+
"debugId": "359232C4BC4673D764756E2164756E21",
|
|
10
9
|
"names": []
|
|
11
10
|
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
import {
|
|
3
|
+
validateSchemaValue2,
|
|
4
|
+
normalizeSchemaValue2
|
|
5
|
+
} from "./chunk-8frc8a4j.js";
|
|
2
6
|
import {
|
|
3
7
|
isFileRef2
|
|
4
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-wkv3h3q7.js";
|
|
5
9
|
import {
|
|
6
10
|
SIXB_API_ROUTES2,
|
|
7
11
|
matchesPathPattern2,
|
|
8
12
|
normalizeRoutePath2
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
validateSchemaValue2,
|
|
12
|
-
normalizeSchemaValue2
|
|
13
|
-
} from "./chunk-hvsb78a1.js";
|
|
13
|
+
} from "./chunk-hwksyjks.js";
|
|
14
14
|
import {
|
|
15
15
|
AgentDefinitionError2,
|
|
16
16
|
AgentToolResultValidationError2
|
|
17
17
|
} from "./chunk-pfp1txq2.js";
|
|
18
18
|
import {
|
|
19
19
|
assertValidSchema
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-cfj9dfbb.js";
|
|
21
21
|
import {
|
|
22
22
|
OntologyValidationError2
|
|
23
23
|
} from "./chunk-cqr3acm1.js";
|
|
@@ -27,7 +27,6 @@ import {
|
|
|
27
27
|
getInvalidJsonValueReason2,
|
|
28
28
|
isPlainRecord
|
|
29
29
|
} from "./chunk-wy0qdqfm.js";
|
|
30
|
-
|
|
31
30
|
// src/agents/context-model.ts
|
|
32
31
|
function serializeAgentContextForModel2(parts) {
|
|
33
32
|
if (parts.length === 0)
|
|
@@ -309,7 +308,9 @@ var AGENT_RESERVED_TOOL_NAMES2 = [
|
|
|
309
308
|
"read",
|
|
310
309
|
"view_file",
|
|
311
310
|
"spawn_agent",
|
|
312
|
-
"wait_agent"
|
|
311
|
+
"wait_agent",
|
|
312
|
+
"publish_artifact",
|
|
313
|
+
"publish_artifact_version"
|
|
313
314
|
];
|
|
314
315
|
function isAgentToolDefinition2(value) {
|
|
315
316
|
return isRecord(value) && value.kind === "agentTool" && typeof value.name === "string" && typeof value.description === "string" && isPlainRecord(value.input) && typeof value.handler === "function";
|
|
@@ -720,4 +721,4 @@ function escapeXml3(value) {
|
|
|
720
721
|
}
|
|
721
722
|
export { serializeAgentContextForModel2, isAgentToolResult2, toModelMessages2, AGENT_API_GATEWAY_PREFIX2, AGENT_API_ROUTES2, createAgentApiGatewayCapability2, isValidAgentApiGatewayCapability2, isAllowedAgentApiRequest2, AGENT_RESERVED_TOOL_NAMES2, isAgentToolDefinition2, validateAndNormalizeAgentToolInput2, toolsFromProjectConfig, defineAgentTool2, AGENT_CONTEXT_ESTIMATOR_VERSION2, shouldCompactAgentContext2, estimateAgentContextRequestTokens2, estimateAgentContextMessagesTokens2, selectAgentContextCompactionBoundary2, serializeAgentMessagesForSummary2, agent2, projectAgentThreadModelContext2 };
|
|
722
723
|
|
|
723
|
-
//# debugId=
|
|
724
|
+
//# debugId=727B0774FE14659564756E2164756E21
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
"import { isFileRef } from \"../blob-storage/validation\"\nimport { isPlainRecord } from \"../json\"\nimport type { AgentToolResult } from \"./types\"\n\n/** Narrow a durable JSON tool output to Sixb's file-aware result envelope. */\nexport function isAgentToolResult(value: unknown): value is AgentToolResult {\n return (\n isPlainRecord(value) &&\n value.kind === \"agentToolResult\" &&\n getInvalidAgentToolResultReason(value) === undefined\n )\n}\n\n/** Return a precise path when a tagged result does not satisfy the public rich-result contract. */\nexport function getInvalidAgentToolResultReason(value: unknown): string | undefined {\n if (!isPlainRecord(value) || value.kind !== \"agentToolResult\") {\n return undefined\n }\n\n if (!Array.isArray(value.content)) {\n return \"result.content must be an array\"\n }\n const unsupportedKey = Object.keys(value).find((key) => key !== \"kind\" && key !== \"content\")\n if (unsupportedKey) {\n return `result.${unsupportedKey} is not supported`\n }\n if (value.content.length === 0) {\n return \"result.content must contain at least one content part\"\n }\n\n for (let index = 0; index < value.content.length; index += 1) {\n const part = value.content[index]\n const path = `result.content[${index}]`\n if (!isPlainRecord(part)) {\n return `${path} must be a text or file content part`\n }\n if (part.type === \"text\") {\n if (typeof part.text !== \"string\") {\n return `${path}.text must be a string`\n }\n const unsupportedKey = Object.keys(part).find((key) => key !== \"type\" && key !== \"text\")\n if (unsupportedKey) {\n return `${path}.${unsupportedKey} is not supported`\n }\n continue\n }\n if (part.type === \"file\") {\n if (!isFileRef(part.fileRef)) {\n return `${path}.fileRef must be a valid FileRef`\n }\n const unsupportedKey = Object.keys(part).find((key) => key !== \"type\" && key !== \"fileRef\")\n if (unsupportedKey) {\n return `${path}.${unsupportedKey} is not supported`\n }\n continue\n }\n return `${path}.type must be 'text' or 'file'`\n }\n\n return undefined\n}\n",
|
|
7
7
|
"import type { JsonValue } from \"../json\"\nimport type {\n ModelAssistantPart,\n ModelFilePart,\n ModelMessage,\n ModelTextPart,\n ModelToolCallPart,\n ModelToolOutput,\n ModelToolResultPart,\n ProviderData,\n} from \"../models\"\nimport { serializeAgentContextForModel } from \"./context-model\"\nimport type {\n AgentFilePart,\n AgentMessage,\n AgentMessagePart,\n AgentTextPart,\n AgentToolCallPart,\n} from \"./message\"\nimport { isAgentToolResult } from \"./tool-result\"\nimport type { AgentToolFileContent } from \"./types\"\n\n/** What the model reads for a {@link AgentContinuationPart}, in place of a user's words. */\nexport const AGENT_CONTINUATION_INSTRUCTION =\n \"<sixb_continuation>Your previous answer stopped at the turn time limit. Continue from where it stopped, in the same language, without repeating what you already wrote.</sixb_continuation>\"\n\nexport interface AgentFileDataResolverInput<TMessage extends AgentMessage = AgentMessage> {\n readonly message: TMessage\n readonly part: AgentFilePart\n readonly partIndex: number\n}\n\nexport interface AgentFileDataProjection {\n readonly data: URL\n readonly mediaType?: string\n readonly filename?: string\n}\n\nexport interface AgentToolResultFileResolverInput<TMessage extends AgentMessage = AgentMessage> {\n readonly message: TMessage\n readonly part: AgentToolCallPart\n readonly partIndex: number\n readonly contentPart: AgentToolFileContent\n readonly contentIndex: number\n}\n\nexport interface ToModelMessagesOptions<TMessage extends AgentMessage = AgentMessage> {\n /**\n * Convert a stored file reference into model-readable data. When omitted, file parts are skipped\n * rather than leaking blob ids or passing an unsupported Sixb-only shape to model providers.\n */\n readonly fileData?:\n | ((input: AgentFileDataResolverInput<TMessage>) => URL | AgentFileDataProjection | undefined)\n | undefined\n /**\n * Convert a user file reference into model-readable text context. This is appended before any\n * file data part so metadata, truncation notes, and sandbox/API access hints stay visible even for\n * models that cannot consume inline files.\n */\n readonly fileText?: (input: AgentFileDataResolverInput<TMessage>) => string | undefined\n /**\n * Framework text closing a user message, such as when it was sent. It must derive from stored\n * data only, so replaying the same history always projects the same bytes.\n */\n readonly userMessageSuffix?: (message: TMessage) => string | undefined\n /** Add current metadata, sandbox paths, and projection notes for a tool-result file. */\n readonly toolResultFileText?: (\n input: AgentToolResultFileResolverInput<TMessage>\n ) => string | undefined\n}\n\n/**\n * Project durable messages into Sixb model messages. Assistant parts are grouped\n * into blocks at each `step-start`; each nonempty block yields one `assistant` message plus, for any\n * non-provider-executed tool calls, one `tool` message. Provider-executed tool results stay inline\n * in the assistant message. Without a tool registry, a string output maps to `text` and anything\n * else to `json`; this is the documented fidelity scope (a tool's custom `toModelOutput` is not\n * reproduced). Assistant file attachments are not projected as assistant-authored text.\n */\nexport function toModelMessages<TMessage extends AgentMessage>(\n messages: readonly TMessage[],\n options: ToModelMessagesOptions<TMessage> = {}\n): ModelMessage[] {\n const result: ModelMessage[] = []\n for (const message of messages) {\n switch (message.role) {\n case \"system\":\n result.push(systemModelMessage(message))\n break\n case \"user\":\n result.push(userModelMessage(message, options))\n break\n case \"assistant\":\n appendAssistantModelMessages(result, message, options)\n break\n }\n }\n return result\n}\n\nfunction systemModelMessage(message: AgentMessage): ModelMessage {\n const textParts = message.parts.filter((part) => part.type === \"text\")\n const providerData = mergeProviderMetadata(textParts)\n return {\n role: \"system\",\n content: textParts.map((part) => part.text).join(\"\"),\n ...(providerData === undefined ? {} : { providerData }),\n }\n}\n\nfunction mergeProviderMetadata(parts: readonly AgentTextPart[]): ProviderData | undefined {\n let merged: Record<string, JsonValue> | undefined\n for (const part of parts) {\n const meta = part.providerMetadata\n if (meta !== undefined && typeof meta === \"object\" && meta !== null && !Array.isArray(meta)) {\n merged = { ...(merged ?? {}), ...meta }\n }\n }\n return merged\n}\n\nfunction userModelMessage<TMessage extends AgentMessage>(\n message: TMessage,\n options: ToModelMessagesOptions<TMessage>\n): ModelMessage {\n const content: (ModelTextPart | ModelFilePart)[] = []\n const serializedContext = serializeAgentContextForModel(\n message.parts.filter((part) => part.type === \"context\")\n )\n if (serializedContext) {\n content.push({ type: \"text\", text: `${serializedContext}\\n\\n` })\n }\n message.parts.forEach((part, partIndex) => {\n if (part.type === \"continuation\") {\n content.push({ type: \"text\", text: AGENT_CONTINUATION_INSTRUCTION })\n return\n }\n if (part.type === \"text\") {\n content.push({\n type: \"text\",\n text: part.text,\n ...(part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }),\n })\n return\n }\n if (part.type === \"file\") {\n const fileContext = options.fileText?.({ message, part, partIndex })\n if (fileContext) {\n content.push({ type: \"text\", text: fileContext })\n }\n const resolved = options.fileData?.({ message, part, partIndex })\n if (resolved) {\n const projection = resolved instanceof URL ? { data: resolved } : resolved\n content.push({\n type: \"file\",\n data: projection.data,\n mediaType: projection.mediaType ?? part.fileRef.mediaType ?? \"application/octet-stream\",\n ...(projection.filename !== undefined\n ? { filename: projection.filename }\n : part.fileRef.fileName === undefined\n ? {}\n : { filename: part.fileRef.fileName }),\n ...(part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }),\n })\n }\n }\n })\n const suffix = options.userMessageSuffix?.(message)\n if (suffix) content.push({ type: \"text\", text: `\\n\\n${suffix}` })\n return { role: \"user\", content }\n}\n\nfunction appendAssistantModelMessages<TMessage extends AgentMessage>(\n result: ModelMessage[],\n message: TMessage,\n options: ToModelMessagesOptions<TMessage>\n): void {\n let block: Array<{ readonly part: AgentMessagePart; readonly partIndex: number }> = []\n const flush = (): void => {\n if (block.length === 0) {\n return\n }\n const current = block\n block = []\n\n const content: ModelAssistantPart[] = []\n const toolResults: ModelToolResultPart[] = []\n for (const { part, partIndex } of current) {\n if (part.type === \"text\" || part.type === \"reasoning\") {\n content.push({\n type: part.type,\n text: part.text,\n ...(part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }),\n })\n } else if (part.type === \"tool-call\") {\n content.push(toolCallModelPart(part))\n if (part.providerExecuted === true) {\n content.push(toolResultModelPart(message, part, partIndex, \"json\", options))\n } else {\n toolResults.push(toolResultModelPart(message, part, partIndex, \"text\", options))\n }\n } else if (part.type === \"provider-state\") {\n content.push({\n type: \"provider-state\",\n providerId: part.providerId,\n data: part.data,\n })\n }\n }\n if (content.length > 0) result.push({ role: \"assistant\", content })\n\n if (toolResults.length > 0) {\n result.push({ role: \"tool\", content: toolResults })\n }\n }\n\n message.parts.forEach((part, partIndex) => {\n if (part.type === \"step-start\") {\n flush()\n } else {\n block.push({ part, partIndex })\n }\n })\n flush()\n}\n\nfunction toolCallModelPart(part: AgentToolCallPart): ModelToolCallPart {\n return {\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n input: part.input,\n ...(part.providerExecuted === undefined ? {} : { providerExecuted: part.providerExecuted }),\n ...(part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }),\n }\n}\n\nfunction toolResultModelPart<TMessage extends AgentMessage>(\n message: TMessage,\n part: AgentToolCallPart,\n partIndex: number,\n errorMode: \"text\" | \"json\",\n options: ToModelMessagesOptions<TMessage>\n): ModelToolResultPart {\n // Stored providerMetadata belongs to the call, not this synthesized result. Replaying it here\n // can replace the result with the provider's original tool-call block.\n return {\n type: \"tool-result\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n output: toolResultOutput(message, part, partIndex, errorMode, options),\n }\n}\n\nfunction toolResultOutput<TMessage extends AgentMessage>(\n message: TMessage,\n part: AgentToolCallPart,\n partIndex: number,\n errorMode: \"text\" | \"json\",\n options: ToModelMessagesOptions<TMessage>\n): ModelToolOutput {\n if (part.state === \"output-error\") {\n return errorMode === \"json\"\n ? { type: \"error-json\", value: part.errorText }\n : { type: \"error-text\", value: part.errorText }\n }\n if (isAgentToolResult(part.output)) {\n const value: string[] = []\n part.output.content.forEach((contentPart, contentIndex) => {\n if (contentPart.type === \"text\") {\n value.push(contentPart.text)\n return\n }\n\n const fileContext = options.toolResultFileText?.({\n message,\n part,\n partIndex,\n contentPart,\n contentIndex,\n })\n value.push(fileContext ?? toolResultFileFallbackText(contentPart))\n })\n return { type: \"text\", value: value.join(\"\\n\") }\n }\n return typeof part.output === \"string\"\n ? { type: \"text\", value: part.output }\n : { type: \"json\", value: part.output }\n}\n\nfunction toolResultFileFallbackText(part: AgentToolFileContent): string {\n const attributes = [\n part.fileRef.fileName ? `name=${JSON.stringify(part.fileRef.fileName)}` : undefined,\n part.fileRef.mediaType ? `mediaType=${JSON.stringify(part.fileRef.mediaType)}` : undefined,\n `sizeBytes=${part.fileRef.sizeBytes}`,\n ].filter((value): value is string => value !== undefined)\n return `[Tool-created file: ${attributes.join(\" \")}. Contents are not available inline.]`\n}\n",
|
|
8
8
|
"import { createHmac, timingSafeEqual } from \"node:crypto\"\nimport { SIXB_API_ROUTES } from \"../http/api-routes\"\nimport { matchesPathPattern, normalizeRoutePath } from \"../http/route-pattern\"\n\nexport const AGENT_API_GATEWAY_PREFIX = \"/__sixb/agent-api\"\n\nconst AGENT_API_GATEWAY_CAPABILITY_PREFIX = \"sixb_agw_v1_\"\n\nexport interface AgentApiGatewayCapabilityInput {\n readonly projectId: string\n readonly runId: string\n readonly executionToken: string\n}\n\nexport interface AgentApiRoute {\n readonly method: string\n readonly path: string\n}\n\n/**\n * The routes the agent API gateway may proxy — the `agentApi` projection of the canonical\n * {@link SIXB_API_ROUTES} table, so this list can never drift from (nor exceed) the bearer boundary.\n */\nexport const AGENT_API_ROUTES: readonly AgentApiRoute[] = SIXB_API_ROUTES.filter(\n (route) => route.agentApi\n).map((route) => ({ method: route.method, path: route.path }))\n\nexport function createAgentApiGatewayCapability(input: AgentApiGatewayCapabilityInput): string {\n return `${AGENT_API_GATEWAY_CAPABILITY_PREFIX}${capabilityDigest(input)}`\n}\n\nexport function isValidAgentApiGatewayCapability(\n input: AgentApiGatewayCapabilityInput & { readonly capability: string }\n): boolean {\n const expected = createAgentApiGatewayCapability(input)\n const actual = input.capability\n const expectedBuffer = Buffer.from(expected)\n const actualBuffer = Buffer.from(actual)\n return (\n expectedBuffer.byteLength === actualBuffer.byteLength &&\n timingSafeEqual(expectedBuffer, actualBuffer)\n )\n}\n\nexport function isAllowedAgentApiRequest(method: string, pathname: string): boolean {\n const normalizedMethod = method.toUpperCase()\n const normalizedPath = normalizeRoutePath(pathname)\n return AGENT_API_ROUTES.some(\n (route) => route.method === normalizedMethod && matchesPathPattern(normalizedPath, route.path)\n )\n}\n\nfunction capabilityDigest(input: AgentApiGatewayCapabilityInput): string {\n return createHmac(\"sha256\", input.executionToken)\n .update(`agent-api-gateway:${input.projectId}:${input.runId}`)\n .digest(\"base64url\")\n}\n",
|
|
9
|
-
"import { getInvalidJsonValueReason, isPlainRecord, type JsonValue } from \"../json\"\nimport { type ObjectSchema, OntologyValidationError, type ValueType } from \"../ontology\"\nimport { assertValidSchema } from \"../ontology/validation/definition\"\nimport { normalizeSchemaValue } from \"../ontology/validation/normalize\"\nimport { validateSchemaValue } from \"../ontology/validation/schema\"\nimport { AgentDefinitionError } from \"./errors\"\nimport type { AgentToolDefinition, AgentToolInputSchema } from \"./types\"\n\nconst AGENT_TOOL_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/\nexport const AGENT_RESERVED_TOOL_NAMES = [\n \"bash\",\n \"read\",\n \"view_file\",\n \"spawn_agent\",\n \"wait_agent\",\n] as const\n\nexport function isAgentToolDefinition(value: unknown): value is AgentToolDefinition {\n return (\n isRecord(value) &&\n value.kind === \"agentTool\" &&\n typeof value.name === \"string\" &&\n typeof value.description === \"string\" &&\n isPlainRecord(value.input) &&\n typeof value.handler === \"function\"\n )\n}\n\nexport function assertValidAgentToolName(name: unknown): asserts name is string {\n if (typeof name !== \"string\" || !AGENT_TOOL_NAME_PATTERN.test(name)) {\n throw new AgentDefinitionError(\n \"[Sixb] Agent tool name must be 1-64 characters, start with a letter or underscore, and contain only letters, numbers, underscores, or hyphens.\"\n )\n }\n if ((AGENT_RESERVED_TOOL_NAMES as readonly string[]).includes(name)) {\n throw new AgentDefinitionError(`[Sixb] Agent tool name '${name}' is reserved by the framework.`)\n }\n}\n\nexport function assertValidAgentToolDescription(name: string, description: unknown): void {\n if (typeof description !== \"string\" || !description.trim()) {\n throw new AgentDefinitionError(`[Sixb] Agent tool '${name}' description must not be empty.`)\n }\n}\n\nexport function assertValidAgentToolInput(name: string, input: unknown): void {\n if (!isPlainRecord(input)) {\n throw new AgentDefinitionError(`[Sixb] Agent tool '${name}' input must be a schema object.`)\n }\n\n for (const [field, schema] of Object.entries(input)) {\n if (!field.trim()) {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${name}' input field names must not be empty.`\n )\n }\n assertValidSchema(schema, `input.${field}`, (path) => invalidAgentToolSchema(name, path))\n }\n}\n\nexport function validateAndSnapshotAgentToolInput<TInput extends AgentToolInputSchema>(\n toolName: string,\n input: TInput\n): TInput {\n assertValidAgentToolInput(toolName, input)\n try {\n return deepFreeze(structuredClone(input))\n } catch {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${toolName}' input must be safely snapshot-compatible.`\n )\n }\n}\n\n/** Validate model input against a tool schema, normalize it to JSON, and lock the snapshot. */\nexport function validateAndNormalizeAgentToolInput(\n toolName: string,\n shape: AgentToolInputSchema,\n value: unknown,\n valueTypesById: ReadonlyMap<string, ValueType>\n): Record<string, JsonValue> {\n const label = `Agent tool '${toolName}' input`\n if (!isPlainRecord(value)) {\n throw new OntologyValidationError(`[Sixb] ${label} must be a JSON object.`)\n }\n\n const reason = getInvalidJsonValueReason(value, label)\n if (reason) {\n throw new OntologyValidationError(`[Sixb] ${label} must be JSON-compatible; ${reason}.`)\n }\n\n const schema: ObjectSchema = {\n type: \"object\",\n properties: Object.fromEntries(\n Object.entries(shape).map(([field, fieldSchema]) => [\n field,\n { schema: fieldSchema, required: true },\n ])\n ),\n }\n validateSchemaValue(schema, value, label, valueTypesById)\n return deepFreeze(\n normalizeSchemaValue(schema, value, label, valueTypesById) as Record<string, JsonValue>\n )\n}\n\nfunction invalidAgentToolSchema(toolName: string, path: string): AgentDefinitionError {\n return new AgentDefinitionError(\n `[Sixb] Agent tool '${toolName}' ${path} must be a valid Sixb schema.`\n )\n}\n\nexport function assertValidProjectAgentToolDefinitions(\n tools: readonly AgentToolDefinition[]\n): void {\n const seen = new Set<string>()\n for (let index = 0; index < tools.length; index += 1) {\n const tool = tools[index]\n if (!Object.hasOwn(tools, index) || !isAgentToolDefinition(tool)) {\n throw new AgentDefinitionError(\n \"[Sixb] Project tools must contain only agent tool definitions.\"\n )\n }\n\n assertValidAgentToolName(tool.name)\n assertValidAgentToolDescription(tool.name, tool.description)\n assertValidAgentToolInput(tool.name, tool.input)\n if (seen.has(tool.name)) {\n throw new AgentDefinitionError(\n `[Sixb] Project tools contain duplicate tool name '${tool.name}'.`\n )\n }\n seen.add(tool.name)\n }\n}\n\nfunction deepFreeze<T>(value: T, seen: Set<object> = new Set()): T {\n if (value === null || typeof value !== \"object\" || seen.has(value)) {\n return value\n }\n\n seen.add(value)\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\n if (descriptor && \"value\" in descriptor) {\n deepFreeze(descriptor.value, seen)\n }\n }\n return Object.freeze(value)\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
|
|
9
|
+
"import { getInvalidJsonValueReason, isPlainRecord, type JsonValue } from \"../json\"\nimport { type ObjectSchema, OntologyValidationError, type ValueType } from \"../ontology\"\nimport { assertValidSchema } from \"../ontology/validation/definition\"\nimport { normalizeSchemaValue } from \"../ontology/validation/normalize\"\nimport { validateSchemaValue } from \"../ontology/validation/schema\"\nimport { AgentDefinitionError } from \"./errors\"\nimport type { AgentToolDefinition, AgentToolInputSchema } from \"./types\"\n\nconst AGENT_TOOL_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/\nexport const AGENT_RESERVED_TOOL_NAMES = [\n \"bash\",\n \"read\",\n \"view_file\",\n \"spawn_agent\",\n \"wait_agent\",\n \"publish_artifact\",\n \"publish_artifact_version\",\n] as const\n\nexport function isAgentToolDefinition(value: unknown): value is AgentToolDefinition {\n return (\n isRecord(value) &&\n value.kind === \"agentTool\" &&\n typeof value.name === \"string\" &&\n typeof value.description === \"string\" &&\n isPlainRecord(value.input) &&\n typeof value.handler === \"function\"\n )\n}\n\nexport function assertValidAgentToolName(name: unknown): asserts name is string {\n if (typeof name !== \"string\" || !AGENT_TOOL_NAME_PATTERN.test(name)) {\n throw new AgentDefinitionError(\n \"[Sixb] Agent tool name must be 1-64 characters, start with a letter or underscore, and contain only letters, numbers, underscores, or hyphens.\"\n )\n }\n if ((AGENT_RESERVED_TOOL_NAMES as readonly string[]).includes(name)) {\n throw new AgentDefinitionError(`[Sixb] Agent tool name '${name}' is reserved by the framework.`)\n }\n}\n\nexport function assertValidAgentToolDescription(name: string, description: unknown): void {\n if (typeof description !== \"string\" || !description.trim()) {\n throw new AgentDefinitionError(`[Sixb] Agent tool '${name}' description must not be empty.`)\n }\n}\n\nexport function assertValidAgentToolInput(name: string, input: unknown): void {\n if (!isPlainRecord(input)) {\n throw new AgentDefinitionError(`[Sixb] Agent tool '${name}' input must be a schema object.`)\n }\n\n for (const [field, schema] of Object.entries(input)) {\n if (!field.trim()) {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${name}' input field names must not be empty.`\n )\n }\n assertValidSchema(schema, `input.${field}`, (path) => invalidAgentToolSchema(name, path))\n }\n}\n\nexport function validateAndSnapshotAgentToolInput<TInput extends AgentToolInputSchema>(\n toolName: string,\n input: TInput\n): TInput {\n assertValidAgentToolInput(toolName, input)\n try {\n return deepFreeze(structuredClone(input))\n } catch {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${toolName}' input must be safely snapshot-compatible.`\n )\n }\n}\n\n/** Validate model input against a tool schema, normalize it to JSON, and lock the snapshot. */\nexport function validateAndNormalizeAgentToolInput(\n toolName: string,\n shape: AgentToolInputSchema,\n value: unknown,\n valueTypesById: ReadonlyMap<string, ValueType>\n): Record<string, JsonValue> {\n const label = `Agent tool '${toolName}' input`\n if (!isPlainRecord(value)) {\n throw new OntologyValidationError(`[Sixb] ${label} must be a JSON object.`)\n }\n\n const reason = getInvalidJsonValueReason(value, label)\n if (reason) {\n throw new OntologyValidationError(`[Sixb] ${label} must be JSON-compatible; ${reason}.`)\n }\n\n const schema: ObjectSchema = {\n type: \"object\",\n properties: Object.fromEntries(\n Object.entries(shape).map(([field, fieldSchema]) => [\n field,\n { schema: fieldSchema, required: true },\n ])\n ),\n }\n validateSchemaValue(schema, value, label, valueTypesById)\n return deepFreeze(\n normalizeSchemaValue(schema, value, label, valueTypesById) as Record<string, JsonValue>\n )\n}\n\nfunction invalidAgentToolSchema(toolName: string, path: string): AgentDefinitionError {\n return new AgentDefinitionError(\n `[Sixb] Agent tool '${toolName}' ${path} must be a valid Sixb schema.`\n )\n}\n\nexport function assertValidProjectAgentToolDefinitions(\n tools: readonly AgentToolDefinition[]\n): void {\n const seen = new Set<string>()\n for (let index = 0; index < tools.length; index += 1) {\n const tool = tools[index]\n if (!Object.hasOwn(tools, index) || !isAgentToolDefinition(tool)) {\n throw new AgentDefinitionError(\n \"[Sixb] Project tools must contain only agent tool definitions.\"\n )\n }\n\n assertValidAgentToolName(tool.name)\n assertValidAgentToolDescription(tool.name, tool.description)\n assertValidAgentToolInput(tool.name, tool.input)\n if (seen.has(tool.name)) {\n throw new AgentDefinitionError(\n `[Sixb] Project tools contain duplicate tool name '${tool.name}'.`\n )\n }\n seen.add(tool.name)\n }\n}\n\nfunction deepFreeze<T>(value: T, seen: Set<object> = new Set()): T {\n if (value === null || typeof value !== \"object\" || seen.has(value)) {\n return value\n }\n\n seen.add(value)\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\n if (descriptor && \"value\" in descriptor) {\n deepFreeze(descriptor.value, seen)\n }\n }\n return Object.freeze(value)\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
|
|
10
10
|
"import {\n cloneJsonValue,\n getInvalidJsonValueReason,\n type JsonValue,\n type ReadonlyJsonValue,\n} from \"../json\"\nimport { AgentDefinitionError, AgentToolResultValidationError } from \"./errors\"\nimport { getInvalidAgentToolResultReason } from \"./tool-result\"\nimport type {\n AgentToolDefinition,\n AgentToolHandler,\n AgentToolInputSchema,\n InferAgentToolInputSchema,\n} from \"./types\"\nimport {\n assertValidAgentToolDescription,\n assertValidAgentToolName,\n assertValidProjectAgentToolDefinitions,\n validateAndSnapshotAgentToolInput,\n} from \"./validation\"\n\nconst EMPTY_AGENT_TOOLS: readonly AgentToolDefinition[] = Object.freeze([])\nconst normalizedAgentTools = new WeakSet<AgentToolDefinition>()\n\nexport function createAgentToolDefinition<\n const TName extends string,\n const TInput extends AgentToolInputSchema,\n>(definition: {\n readonly name: TName\n readonly description: string\n readonly input: TInput\n readonly handler: AgentToolHandler<InferAgentToolInputSchema<TInput>>\n}): AgentToolDefinition<TName, TInput> {\n assertValidAgentToolName(definition.name)\n assertValidAgentToolDescription(definition.name, definition.description)\n if (typeof definition.handler !== \"function\") {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${definition.name}' handler must be a function.`\n )\n }\n\n const input = validateAndSnapshotAgentToolInput(definition.name, definition.input)\n const tool: AgentToolDefinition<TName, TInput> = {\n kind: \"agentTool\",\n name: definition.name,\n description: definition.description,\n input,\n handler: async (context) => {\n const result = await definition.handler(context)\n let snapshot: JsonValue\n try {\n // AgentToolResult is intentionally expressed with FileRef instead of a duplicate JSON-only\n // shape. Runtime validation below proves that the complete envelope crosses the same JSON\n // boundary as legacy results.\n snapshot = cloneJsonValue(result as ReadonlyJsonValue, \"result\")\n } catch (cause) {\n throw new AgentToolResultValidationError(\n definition.name,\n getInvalidJsonValueReason(result, \"result\") ?? \"result could not be cloned safely\",\n { cause }\n )\n }\n const richResultReason = getInvalidAgentToolResultReason(snapshot)\n if (richResultReason) {\n throw new AgentToolResultValidationError(definition.name, richResultReason)\n }\n return snapshot\n },\n }\n\n normalizedAgentTools.add(tool)\n return Object.freeze(tool)\n}\n\nexport function toolsFromProjectConfig(\n tools: readonly AgentToolDefinition[] | undefined\n): readonly AgentToolDefinition[] {\n if (tools === undefined) {\n return EMPTY_AGENT_TOOLS\n }\n if (!Array.isArray(tools)) {\n throw new AgentDefinitionError(\n \"[Sixb] Project tools must be an array of agent tool definitions.\"\n )\n }\n\n assertValidProjectAgentToolDefinitions(tools)\n return normalizeAgentToolDefinitions(tools)\n}\n\nfunction normalizeAgentToolDefinitions(\n tools: readonly AgentToolDefinition[]\n): readonly AgentToolDefinition[] {\n const normalized: AgentToolDefinition[] = []\n for (const tool of tools) {\n normalized.push(normalizeAgentToolDefinition(tool))\n }\n return Object.freeze(normalized)\n}\n\nfunction normalizeAgentToolDefinition(tool: AgentToolDefinition): AgentToolDefinition {\n if (normalizedAgentTools.has(tool)) {\n return tool\n }\n\n return createAgentToolDefinition({\n name: tool.name,\n description: tool.description,\n input: tool.input,\n handler: (context) => tool.handler(context),\n })\n}\n",
|
|
11
11
|
"import { createAgentToolDefinition } from \"./tool-definition\"\nimport type {\n AgentToolDefinition,\n AgentToolDescriptionBuilder,\n AgentToolHandler,\n AgentToolInputBuilder,\n AgentToolInputSchema,\n AgentToolRunBuilder,\n InferAgentToolInputSchema,\n} from \"./types\"\nimport {\n assertValidAgentToolDescription,\n assertValidAgentToolInput,\n assertValidAgentToolName,\n} from \"./validation\"\n\n/**\n * Define a reusable tool registered through `createSixb({ tools })`.\n *\n * The returned definition is inert. The agent worker supplies its run-scoped\n * context and executes the handler only when a run calls the tool.\n */\nexport function defineAgentTool<const TName extends string>(\n name: TName\n): AgentToolDescriptionBuilder<TName> {\n assertValidAgentToolName(name)\n\n return {\n description(description: string): AgentToolInputBuilder<TName> {\n assertValidAgentToolDescription(name, description)\n\n return {\n input<const TInput extends AgentToolInputSchema>(\n input: TInput\n ): AgentToolRunBuilder<TName, TInput> {\n assertValidAgentToolInput(name, input)\n\n return {\n run(\n handler: AgentToolHandler<InferAgentToolInputSchema<TInput>>\n ): AgentToolDefinition<TName, TInput> {\n return createAgentToolDefinition({ name, description, input, handler })\n },\n }\n },\n }\n },\n }\n}\n",
|
|
12
12
|
"import { stableJsonStringify } from \"../json\"\nimport type { AgentMessageRecord } from \"../storage/agents/types\"\nimport { AGENT_CONTINUATION_INSTRUCTION } from \"./adapters\"\nimport type { AgentMessage, AgentMessagePart } from \"./message\"\n\nexport const AGENT_CONTEXT_ESTIMATOR_VERSION = 1 as const\n\nconst CHARS_PER_TOKEN = 4\nconst REQUEST_OVERHEAD_TOKENS = 8\nconst MESSAGE_OVERHEAD_TOKENS = 8\nconst TOOL_OVERHEAD_TOKENS = 16\nconst STEP_OVERHEAD_TOKENS = 2\nconst IMAGE_ALLOWANCE_TOKENS = 1_200\nconst FILE_TEXT_INLINE_MAX_BYTES = 50 * 1024\nconst FILE_TEXT_INLINE_TOTAL_MAX_BYTES = 200 * 1024\nconst TOOL_RESULT_SUMMARY_MAX_CHARS = 2_000\n\nexport interface AgentContextEstimateTool {\n readonly name: string\n readonly description: string\n /** Deterministic JSON-schema serialization sent for this tool. */\n readonly inputSchema: string\n}\n\nexport interface EstimateAgentContextRequestTokensInput {\n readonly systemPrompt: string\n readonly tools: readonly AgentContextEstimateTool[]\n readonly messages: readonly AgentMessage[]\n}\n\nexport interface AgentContextTokenEstimate {\n readonly tokens: number\n readonly estimatorVersion: typeof AGENT_CONTEXT_ESTIMATOR_VERSION\n}\n\nexport interface AgentContextCompactionBoundary {\n readonly messagesToSummarize: readonly AgentMessageRecord[]\n readonly retainedMessages: readonly AgentMessageRecord[]\n readonly summarizedThroughSeq: number\n}\n\n/** Compaction begins only once the estimated request crosses the reserved input budget. */\nexport function shouldCompactAgentContext(input: {\n readonly estimatedInputTokens: number\n readonly inputBudgetTokens: number\n}): boolean {\n return input.estimatedInputTokens > input.inputBudgetTokens\n}\n\n/** Estimate the provider request shape with one stable, conservative character heuristic. */\nexport function estimateAgentContextRequestTokens(\n input: EstimateAgentContextRequestTokensInput\n): AgentContextTokenEstimate {\n const toolTokens = input.tools.reduce(\n (total, tool) =>\n total +\n TOOL_OVERHEAD_TOKENS +\n textTokens(tool.name) +\n textTokens(tool.description) +\n textTokens(tool.inputSchema),\n 0\n )\n return {\n tokens:\n REQUEST_OVERHEAD_TOKENS +\n textTokens(input.systemPrompt) +\n toolTokens +\n estimateAgentContextMessagesTokens(input.messages).tokens,\n estimatorVersion: AGENT_CONTEXT_ESTIMATOR_VERSION,\n }\n}\n\n/** Estimate message-only growth after a provider-usage anchor. */\nexport function estimateAgentContextMessagesTokens(\n messages: readonly AgentMessage[]\n): AgentContextTokenEstimate {\n const attachments = { textBytesRemaining: FILE_TEXT_INLINE_TOTAL_MAX_BYTES }\n let tokens = 0\n for (const message of messages) {\n tokens += estimateMessageTokens(message, attachments)\n }\n return { tokens, estimatorVersion: AGENT_CONTEXT_ESTIMATOR_VERSION }\n}\n\n/** Select the safe user boundary whose retained tail is closest to the configured recent budget. */\nexport function selectAgentContextCompactionBoundary(input: {\n readonly messages: readonly AgentMessageRecord[]\n readonly keepRecentTokens: number\n}): AgentContextCompactionBoundary | null {\n if (input.messages.length < 2) return null\n\n let retainedTokens = 0\n let boundaryIndex: number | null = null\n let closestDistance = Number.POSITIVE_INFINITY\n for (let index = input.messages.length - 1; index > 0; index -= 1) {\n retainedTokens += estimateAgentContextMessagesTokens([input.messages[index]!]).tokens\n if (input.messages[index]?.role !== \"user\") continue\n\n const distance = Math.abs(input.keepRecentTokens - retainedTokens)\n if (distance <= closestDistance) {\n boundaryIndex = index\n closestDistance = distance\n }\n if (retainedTokens >= input.keepRecentTokens) break\n }\n\n if (boundaryIndex === null) return null\n\n const summarizedThroughSeq = input.messages[boundaryIndex - 1]?.seq\n if (summarizedThroughSeq === undefined) return null\n return {\n messagesToSummarize: input.messages.slice(0, boundaryIndex),\n retainedMessages: input.messages.slice(boundaryIndex),\n summarizedThroughSeq,\n }\n}\n\n/** Serialize durable conversation content as escaped quoted data for the summary model. */\nexport function serializeAgentMessagesForSummary(messages: readonly AgentMessageRecord[]): string {\n const lines = [\"<sixb_conversation_history>\"]\n for (const message of messages) {\n lines.push(\n ` <message id=\"${escapeXml(message.id)}\" seq=\"${message.seq}\" role=\"${message.role}\">`\n )\n message.parts.forEach((part, partIndex) => {\n lines.push(...serializeSummaryPart(message, part, partIndex))\n })\n lines.push(\" </message>\")\n }\n lines.push(\"</sixb_conversation_history>\")\n return lines.join(\"\\n\")\n}\n\nfunction estimateMessageTokens(\n message: AgentMessage,\n attachments: { textBytesRemaining: number }\n): number {\n let tokens = MESSAGE_OVERHEAD_TOKENS\n for (const part of message.parts) {\n switch (part.type) {\n case \"text\":\n case \"reasoning\":\n tokens += textTokens(part.text)\n break\n case \"step-start\":\n tokens += STEP_OVERHEAD_TOKENS\n break\n case \"continuation\":\n tokens += textTokens(AGENT_CONTINUATION_INSTRUCTION)\n break\n case \"context\":\n tokens += textTokens(stableJsonStringify(part.context))\n break\n case \"provider-state\":\n tokens += textTokens(stableJsonStringify(part.data))\n break\n case \"tool-call\":\n tokens +=\n TOOL_OVERHEAD_TOKENS +\n textTokens(part.toolName) +\n textTokens(stableJsonStringify(part.input)) +\n (part.state === \"output-available\"\n ? textTokens(stableJsonStringify(part.output))\n : textTokens(part.errorText))\n break\n case \"file\": {\n const file = part.fileRef\n tokens += textTokens(\n [file.blobId, file.digest, file.fileName, file.mediaType, file.logicalPath]\n .filter((value): value is string => value !== undefined)\n .join(\" \")\n )\n if (message.role !== \"assistant\") {\n if (looksLikeImage(file.mediaType, file.fileName)) {\n tokens += IMAGE_ALLOWANCE_TOKENS\n } else {\n const inlineBytes = Math.min(\n file.sizeBytes,\n FILE_TEXT_INLINE_MAX_BYTES,\n attachments.textBytesRemaining\n )\n attachments.textBytesRemaining -= inlineBytes\n tokens += Math.ceil(inlineBytes / CHARS_PER_TOKEN)\n }\n }\n break\n }\n }\n }\n return tokens\n}\n\nfunction serializeSummaryPart(\n message: AgentMessageRecord,\n part: AgentMessagePart,\n partIndex: number\n): string[] {\n const indent = \" \"\n switch (part.type) {\n case \"text\":\n return [`${indent}<text>${escapeXml(part.text)}</text>`]\n case \"reasoning\":\n case \"provider-state\":\n case \"step-start\":\n return []\n case \"continuation\":\n return [`${indent}<continuation_request />`]\n case \"context\":\n return part.context.kind === \"object\"\n ? [\n `${indent}<object_context origin=\"${part.origin}\" object_type_id=\"${escapeXml(part.context.ref.objectTypeId)}\" primary_id=\"${escapeXml(part.context.ref.primaryId)}\" />`,\n ]\n : [\n `${indent}<app_context origin=\"${part.origin}\" id=\"${escapeXml(part.context.id)}\" label=\"${escapeXml(part.context.label)}\">`,\n `${indent} <description>${escapeXml(part.context.description)}</description>`,\n `${indent} <value format=\"json\">${escapeXml(stableJsonStringify(part.context.value))}</value>`,\n `${indent}</app_context>`,\n ]\n case \"file\": {\n const file = part.fileRef\n const attributes = [\n `message_id=\"${escapeXml(message.id)}\"`,\n `part_index=\"${partIndex}\"`,\n `blob_id=\"${escapeXml(file.blobId)}\"`,\n `digest=\"${escapeXml(file.digest)}\"`,\n `size_bytes=\"${file.sizeBytes}\"`,\n ...(file.fileName === undefined ? [] : [`file_name=\"${escapeXml(file.fileName)}\"`]),\n ...(file.mediaType === undefined ? [] : [`media_type=\"${escapeXml(file.mediaType)}\"`]),\n ...(file.logicalPath === undefined\n ? []\n : [`logical_path=\"${escapeXml(file.logicalPath)}\"`]),\n ]\n return [`${indent}<file ${attributes.join(\" \")} />`]\n }\n case \"tool-call\": {\n const output =\n part.state === \"output-available\"\n ? truncateToolResult(stableJsonStringify(part.output))\n : truncateToolResult(part.errorText)\n return [\n `${indent}<tool_call id=\"${escapeXml(part.toolCallId)}\" name=\"${escapeXml(part.toolName)}\" state=\"${part.state}\">`,\n `${indent} <input format=\"json\">${escapeXml(stableJsonStringify(part.input))}</input>`,\n `${indent} <result>${escapeXml(output)}</result>`,\n `${indent}</tool_call>`,\n ]\n }\n }\n}\n\nfunction truncateToolResult(value: string): string {\n if (value.length <= TOOL_RESULT_SUMMARY_MAX_CHARS) return value\n return `${value.slice(0, TOOL_RESULT_SUMMARY_MAX_CHARS)}\\n[truncated ${value.length - TOOL_RESULT_SUMMARY_MAX_CHARS} characters]`\n}\n\nfunction looksLikeImage(mediaType: string | undefined, fileName: string | undefined): boolean {\n if (mediaType?.toLowerCase().startsWith(\"image/\")) return true\n return /\\.(?:avif|gif|jpe?g|png|webp)$/i.test(fileName ?? \"\")\n}\n\nfunction textTokens(value: string): number {\n return Math.ceil(new TextEncoder().encode(value).byteLength / CHARS_PER_TOKEN)\n}\n\nfunction escapeXml(value: string): string {\n return value\n .replaceAll(\"&\", \"&\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\")\n .replaceAll('\"', \""\")\n .replaceAll(\"'\", \"'\")\n}\n",
|
|
13
13
|
"import type { AgentReference } from \"./types\"\n\n/** Project Agent capability used in security grants such as `can.run(agent)`. */\nexport const agent: AgentReference = Object.freeze({\n kind: \"agent\",\n usage: Object.freeze({ kind: \"aiUsage\" }),\n})\n",
|
|
14
14
|
"import type { AgentContextCheckpointRecord, AgentMessageRecord } from \"../storage/agents/types\"\nimport type { AgentMessage } from \"./message\"\n\n/** A model-only message. Persisted tail messages carry `id`; the synthetic summary does not. */\nexport interface AgentThreadModelContextMessage extends AgentMessage {\n readonly id?: string\n}\n\nexport interface ProjectAgentThreadModelContextInput {\n readonly checkpoint: AgentContextCheckpointRecord | null\n /** Complete retained tail, ordered by ascending per-thread sequence. */\n readonly messages: readonly AgentMessageRecord[]\n}\n\n/**\n * Build the bounded, model-only view of a durable thread.\n *\n * The function is deliberately pure: storage chooses the latest checkpoint and reads its retained\n * tail; this function validates that projection and prepends one synthetic user-role summary.\n */\nexport function projectAgentThreadModelContext(\n input: ProjectAgentThreadModelContextInput\n): readonly AgentThreadModelContextMessage[] {\n const { checkpoint, messages } = input\n if (!checkpoint) return messages\n\n assertConsistentCheckpointProjection(checkpoint, messages)\n return [\n {\n role: \"user\",\n parts: [{ type: \"text\", text: serializeThreadSummary(checkpoint.summary) }],\n },\n ...messages,\n ]\n}\n\nfunction assertConsistentCheckpointProjection(\n checkpoint: AgentContextCheckpointRecord,\n messages: readonly AgentMessageRecord[]\n): void {\n if (checkpoint.summaryFormatVersion !== 1 || checkpoint.summary.trim().length === 0) {\n throw projectionError(checkpoint, \"has an invalid summary\")\n }\n if (checkpoint.summarizedThroughSeq >= checkpoint.observedHeadSeq) {\n throw projectionError(checkpoint, \"does not retain its observed head\")\n }\n if (messages.length === 0) {\n throw projectionError(checkpoint, \"has no retained messages\")\n }\n\n let expectedSeq = checkpoint.summarizedThroughSeq + 1\n for (const message of messages) {\n if (message.projectId !== checkpoint.projectId || message.threadId !== checkpoint.threadId) {\n throw projectionError(checkpoint, \"contains a message from another thread\")\n }\n if (message.seq !== expectedSeq) {\n throw projectionError(checkpoint, `has a sequence gap before message '${message.id}'`)\n }\n expectedSeq += 1\n }\n\n if (messages[0]?.role !== \"user\") {\n throw projectionError(checkpoint, \"does not begin at a user turn boundary\")\n }\n if ((messages.at(-1)?.seq ?? 0) < checkpoint.observedHeadSeq) {\n throw projectionError(checkpoint, \"ends before the checkpoint's observed head\")\n }\n}\n\nfunction serializeThreadSummary(summary: string): string {\n return [\n \"The earlier conversation was compacted into this continuation summary.\",\n \"\",\n \"<sixb_thread_summary>\",\n escapeXml(summary),\n \"</sixb_thread_summary>\",\n ].join(\"\\n\")\n}\n\nfunction projectionError(checkpoint: AgentContextCheckpointRecord, detail: string): Error {\n return new Error(\n `[Sixb] Agent context checkpoint '${checkpoint.id}' for thread '${checkpoint.threadId}' ${detail}.`\n )\n}\n\nfunction escapeXml(value: string): string {\n return value\n .replaceAll(\"&\", \"&\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\")\n .replaceAll('\"', \""\")\n .replaceAll(\"'\", \"'\")\n}\n"
|
|
15
15
|
],
|
|
16
|
-
"mappings": "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",
|
|
17
|
-
"debugId": "
|
|
16
|
+
"mappings": "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",
|
|
17
|
+
"debugId": "727B0774FE14659564756E2164756E21",
|
|
18
18
|
"names": []
|
|
19
19
|
}
|