trellis 3.1.35 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -5
- package/README.md +19 -2
- package/bin/trellis.mjs +2 -75
- package/dist/better-sqlite-backend-2P4F6AOJ.js +209 -0
- package/dist/{better-sqlite-backend-ahx5p0br.js → better-sqlite-backend-PII64VE6.js} +37 -25
- package/dist/better-sqlite-backend-VUBVQ7SN.js +209 -0
- package/dist/better-sqlite-backend-Y3AQN65E.js +159 -0
- package/dist/better-sqlite-backend-Y3M7DXOX.js +159 -0
- package/dist/boot-middleware-FJDGVUM4.js +9 -0
- package/dist/boot-middleware-MHLHFCUC.js +9 -0
- package/dist/boot-middleware-MLJUTLUM.js +9 -0
- package/dist/boot-middleware-ZZPDZNYR.js +9 -0
- package/dist/{index-wncptktd.js → chunk-276LKLZR.js} +126 -59
- package/dist/chunk-2BRTCEHB.js +143 -0
- package/dist/chunk-2CX5UCRV.js +111 -0
- package/dist/chunk-2ESYSVXG.js +48 -0
- package/dist/{index-yp88he8n.js → chunk-2I5JU73Y.js} +88 -64
- package/dist/{index-w5wccer3.js → chunk-2UNSRRNB.js} +10 -5
- package/dist/{index-4wxa8xz4.js → chunk-335UEHQR.js} +158 -22
- package/dist/chunk-36VSSTL7.js +357 -0
- package/dist/chunk-3ETIIPPB.js +1077 -0
- package/dist/chunk-3GDRZTAW.js +45 -0
- package/dist/chunk-44FFQKQX.js +142 -0
- package/dist/chunk-4CF2L46N.js +29 -0
- package/dist/chunk-4HYPLFJD.js +150 -0
- package/dist/chunk-4XIVMVHC.js +361 -0
- package/dist/chunk-5CINODKT.js +41 -0
- package/dist/chunk-5ESGWJ5L.js +45 -0
- package/dist/chunk-5FGLQGMF.js +1676 -0
- package/dist/chunk-5IQZFITY.js +357 -0
- package/dist/{index-wt8rz4gn.js → chunk-5JWFAQDW.js} +41 -23
- package/dist/{index-7pjz3tsy.js → chunk-62UHTVU3.js} +50 -16
- package/dist/{index-h32txmxe.js → chunk-66UJQT2I.js} +6 -13
- package/dist/chunk-6CTA6MCE.js +340 -0
- package/dist/{index-4cdr7x2x.js → chunk-6RNNVOAS.js} +178 -109
- package/dist/chunk-6X23PZ6H.js +969 -0
- package/dist/chunk-7C7LL6MB.js +315 -0
- package/dist/chunk-7F4HM3JG.js +394 -0
- package/dist/chunk-7KJ7T4D3.js +910 -0
- package/dist/chunk-7QQQNUB5.js +92 -0
- package/dist/{index-53f3b8p8.js → chunk-7QWJBS72.js} +210 -165
- package/dist/chunk-7R36OZK3.js +957 -0
- package/dist/chunk-7UPKCOHE.js +946 -0
- package/dist/chunk-7WQGTFVJ.js +7434 -0
- package/dist/chunk-A3BONW34.js +35 -0
- package/dist/chunk-AHMDVHBL.js +141 -0
- package/dist/chunk-AW6A4OZY.js +171 -0
- package/dist/chunk-B3ZIFA2O.js +2240 -0
- package/dist/chunk-BJ5EKCJ5.js +458 -0
- package/dist/chunk-BJ7EZ7FP.js +145 -0
- package/dist/chunk-BQBUVMRN.js +171 -0
- package/dist/chunk-BRGYDO7D.js +223 -0
- package/dist/chunk-BXSTJVE3.js +67 -0
- package/dist/chunk-C5KPSEDN.js +359 -0
- package/dist/chunk-CCTNYTUC.js +940 -0
- package/dist/chunk-CYQ2OVD2.js +35 -0
- package/dist/chunk-DDAK7YOE.js +299 -0
- package/dist/chunk-DRILKBY6.js +965 -0
- package/dist/chunk-DXE24HNN.js +45 -0
- package/dist/chunk-E7ICUNW7.js +945 -0
- package/dist/chunk-EAL2PUOE.js +10022 -0
- package/dist/chunk-ELT7MLZB.js +109 -0
- package/dist/chunk-EO3J7GRP.js +0 -0
- package/dist/chunk-EWEIRF6G.js +171 -0
- package/dist/chunk-F5VDGQJC.js +120 -0
- package/dist/chunk-FCPL3IEQ.js +98 -0
- package/dist/{index-nq520y6k.js → chunk-FDPKYSV7.js} +43 -31
- package/dist/chunk-FES3TC24.js +171 -0
- package/dist/chunk-FF36CQHZ.js +61 -0
- package/dist/chunk-FKQO5A3H.js +35 -0
- package/dist/chunk-FOWKR5TW.js +129 -0
- package/dist/chunk-FZVCXDYW.js +150 -0
- package/dist/chunk-G3XIHPSQ.js +361 -0
- package/dist/chunk-GD5QJXSS.js +98 -0
- package/dist/chunk-GFZCJ4EH.js +108 -0
- package/dist/chunk-GKJLYLVU.js +359 -0
- package/dist/chunk-GLM4HGN4.js +55 -0
- package/dist/chunk-GNXHXNVQ.js +113 -0
- package/dist/chunk-GSR6ILTM.js +277 -0
- package/dist/chunk-GWRIMRSX.js +45 -0
- package/dist/chunk-H72UW2HJ.js +45 -0
- package/dist/chunk-HGI74PXB.js +7417 -0
- package/dist/chunk-HGRA37LO.js +145 -0
- package/dist/chunk-HO4TURXW.js +1078 -0
- package/dist/chunk-HXSRQO3L.js +145 -0
- package/dist/chunk-IG2X2BVO.js +373 -0
- package/dist/chunk-IIJVDD54.js +373 -0
- package/dist/chunk-IUWVEEOX.js +145 -0
- package/dist/chunk-IX4BBOIT.js +394 -0
- package/dist/{index-yhwjgfvj.js → chunk-IXU4RMQM.js} +67 -60
- package/dist/chunk-J3WYZO3Q.js +211 -0
- package/dist/{index-vkpkfwhq.js → chunk-J6OUIION.js} +234 -194
- package/dist/{index-xzym9w0m.js → chunk-JA7AIHRK.js} +12 -7
- package/dist/chunk-JUEMDWLU.js +233 -0
- package/dist/chunk-K46RNFDE.js +171 -0
- package/dist/chunk-KAGU2XMY.js +359 -0
- package/dist/chunk-KCVYJNVX.js +394 -0
- package/dist/chunk-KFQGP6VL.js +33 -0
- package/dist/chunk-KKDRMIV6.js +419 -0
- package/dist/chunk-KQ4A2D2P.js +910 -0
- package/dist/chunk-KSU2GW22.js +958 -0
- package/dist/chunk-KYLIQ3YI.js +399 -0
- package/dist/chunk-KZYJJIRN.js +946 -0
- package/dist/chunk-LFOX744K.js +96 -0
- package/dist/{index-rv1p47gp.js → chunk-LHOVJEWR.js} +2756 -2307
- package/dist/{index-h9e2efx4.js → chunk-LNUIGRDZ.js} +71 -55
- package/dist/chunk-LOPXTPF3.js +120 -0
- package/dist/chunk-LZR3VIFU.js +907 -0
- package/dist/chunk-MBNBTJCR.js +394 -0
- package/dist/chunk-MCKGQKYU.js +15 -0
- package/dist/{index-skhn0agf.js → chunk-MLC5BUYO.js} +19 -20
- package/dist/chunk-MPXUVGT3.js +104 -0
- package/dist/chunk-MU6EOS6F.js +0 -0
- package/dist/chunk-MWRQ2TXT.js +357 -0
- package/dist/{index-nzb3am4f.js → chunk-NO73OK2I.js} +43 -21
- package/dist/chunk-NPE2YJHK.js +394 -0
- package/dist/{index-xhcp6xrn.js → chunk-NSDXU6QX.js} +654 -500
- package/dist/chunk-NXIRDSZ6.js +145 -0
- package/dist/chunk-NZWFNHCS.js +407 -0
- package/dist/chunk-O2AV5WMN.js +48 -0
- package/dist/{index-h7zxhhhh.js → chunk-OB4CMMX6.js} +46 -38
- package/dist/chunk-OBKU74FU.js +7411 -0
- package/dist/chunk-OQNDWRDE.js +145 -0
- package/dist/chunk-OVWAJMB6.js +394 -0
- package/dist/chunk-PDHLBTTD.js +45 -0
- package/dist/chunk-PEQNRKLG.js +210 -0
- package/dist/chunk-QERIS7QY.js +7403 -0
- package/dist/chunk-QHA2DM3C.js +373 -0
- package/dist/chunk-QLM4HSYC.js +45 -0
- package/dist/chunk-RSWUFTO2.js +857 -0
- package/dist/chunk-S2OT3TQJ.js +283 -0
- package/dist/chunk-S5PHSN5K.js +907 -0
- package/dist/chunk-SIAA4J6H.js +21 -0
- package/dist/chunk-SPSPV5BC.js +390 -0
- package/dist/chunk-SQBNLUIA.js +171 -0
- package/dist/chunk-STLN6A6B.js +355 -0
- package/dist/chunk-TCKXSOBP.js +123 -0
- package/dist/chunk-U7HV7GU2.js +17 -0
- package/dist/chunk-UBGUDMUV.js +59 -0
- package/dist/chunk-UGZHOGRA.js +39 -0
- package/dist/chunk-UICF66FS.js +359 -0
- package/dist/chunk-UK3EQREE.js +1078 -0
- package/dist/chunk-UPKPURVY.js +394 -0
- package/dist/chunk-URC74VCN.js +959 -0
- package/dist/chunk-USEINYUL.js +12 -0
- package/dist/{index-bmyt7k8n.js → chunk-UZRUP7QW.js} +12 -4
- package/dist/chunk-V3G7Q3QQ.js +102 -0
- package/dist/chunk-VDAKEOML.js +857 -0
- package/dist/chunk-VUJ6SA55.js +303 -0
- package/dist/chunk-VUJQLIML.js +141 -0
- package/dist/chunk-VWKLKLYB.js +267 -0
- package/dist/chunk-VYC3RZMK.js +277 -0
- package/dist/chunk-WMERMSWI.js +154 -0
- package/dist/chunk-WMR777PO.js +2213 -0
- package/dist/{index-n9f2qyh5.js → chunk-X46IECAC.js} +55 -33
- package/dist/chunk-X5FLTRUB.js +517 -0
- package/dist/chunk-X762XWVC.js +419 -0
- package/dist/chunk-XEN3OEYY.js +2234 -0
- package/dist/chunk-XMQ7G77X.js +260 -0
- package/dist/chunk-XZQ66K7A.js +124 -0
- package/dist/{index-w7ng765c.js → chunk-YCM7ZYEZ.js} +102 -49
- package/dist/chunk-YY3GF7DH.js +7411 -0
- package/dist/chunk-ZE5R3H4C.js +907 -0
- package/dist/chunk-ZHVI7BQN.js +1077 -0
- package/dist/chunk-ZMN5LUB7.js +7411 -0
- package/dist/chunk-ZUV4MD5U.js +94 -0
- package/dist/cli/errors.d.ts +6 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/examples.d.ts +23 -0
- package/dist/cli/examples.d.ts.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2338 -6190
- package/dist/client/index.d.ts +6 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +41 -21
- package/dist/client/live.d.ts +67 -0
- package/dist/client/live.d.ts.map +1 -0
- package/dist/client/reactive.d.ts +31 -0
- package/dist/client/reactive.d.ts.map +1 -0
- package/dist/client/sdk.d.ts +26 -2
- package/dist/client/sdk.d.ts.map +1 -1
- package/dist/client/sdk.js +9 -0
- package/dist/client/vcs-client.d.ts +129 -0
- package/dist/client/vcs-client.d.ts.map +1 -0
- package/dist/cms/index.js +171 -163
- package/dist/{config-8hczw0rs.js → config-KMY6RRK3.js} +8 -9
- package/dist/config-PFTP67TR.js +19 -0
- package/dist/config-VDMK2DUJ.js +19 -0
- package/dist/core/computation/index.d.ts +5 -0
- package/dist/core/computation/index.d.ts.map +1 -0
- package/dist/core/computation/rollup.d.ts +18 -0
- package/dist/core/computation/rollup.d.ts.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +168 -101
- package/dist/core/kernel/boot-middleware.d.ts +10 -0
- package/dist/core/kernel/boot-middleware.d.ts.map +1 -0
- package/dist/core/kernel/logic-middleware.d.ts +7 -1
- package/dist/core/kernel/logic-middleware.d.ts.map +1 -1
- package/dist/core/kernel/trellis-kernel.d.ts.map +1 -1
- package/dist/core/ontology/types.d.ts +5 -0
- package/dist/core/ontology/types.d.ts.map +1 -1
- package/dist/core/persist/better-sqlite-backend.d.ts +9 -2
- package/dist/core/persist/better-sqlite-backend.d.ts.map +1 -1
- package/dist/core/persist/factory.d.ts +6 -7
- package/dist/core/persist/factory.d.ts.map +1 -1
- package/dist/core/persist/factory.js +2 -3
- package/dist/core/persist/sqljs-backend.js +2 -3
- package/dist/db/index.d.ts +4 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +69 -56
- package/dist/db/inspector.js +11 -19
- package/dist/decisions/index.js +9 -10
- package/dist/deploy-66EC752W.js +9 -0
- package/dist/deploy-SO7AFK6L.js +9 -0
- package/dist/embeddings/auto-embed.d.ts +2 -2
- package/dist/embeddings/auto-embed.d.ts.map +1 -1
- package/dist/embeddings/index.js +20 -22
- package/dist/embeddings/search.d.ts +2 -1
- package/dist/embeddings/search.d.ts.map +1 -1
- package/dist/embeddings/store.d.ts +25 -4
- package/dist/embeddings/store.d.ts.map +1 -1
- package/dist/engine-7GXBM4IT.js +7 -0
- package/dist/engine-NSR6BIF7.js +7 -0
- package/dist/engine.d.ts +32 -12
- package/dist/engine.d.ts.map +1 -1
- package/dist/factory-2P64OC7M.js +34 -0
- package/dist/factory-YP4ZZK5K.js +34 -0
- package/dist/import-AJLYHFIA.js +10 -0
- package/dist/import-UZEKXU3B.js +10 -0
- package/dist/index.js +102 -93
- package/dist/launch-explorer-AI6L2AWJ.js +91 -0
- package/dist/launch-explorer-HZ4ZJA4X.js +95 -0
- package/dist/links/index.js +24 -26
- package/dist/plugins/agent-memory/index.js +316 -0
- package/dist/plugins/idea-garden/index.js +165 -0
- package/dist/plugins/plan-approval/index.js +579 -0
- package/dist/plugins/proactive-watcher/index.js +194 -0
- package/dist/{index-2r4jxwnb.js → query-GJL3CVGN.js} +14 -15
- package/dist/query-MBJSK3EB.js +31 -0
- package/dist/query-TJHEVSKL.js +31 -0
- package/dist/query-WUIKOHPE.js +524 -0
- package/dist/query-XYLTJYSA.js +31 -0
- package/dist/react/index.js +39 -70
- package/dist/react/realtime.js +11 -0
- package/dist/react/schema-hooks.js +87 -0
- package/dist/realtime/broadcast-channel-transport.d.ts +43 -0
- package/dist/realtime/broadcast-channel-transport.d.ts.map +1 -0
- package/dist/realtime/durable-object-relay-transport.d.ts +96 -0
- package/dist/realtime/durable-object-relay-transport.d.ts.map +1 -0
- package/dist/realtime/index.d.ts +44 -0
- package/dist/realtime/index.d.ts.map +1 -0
- package/dist/realtime/index.js +40 -0
- package/dist/realtime/memory-hub.d.ts +32 -0
- package/dist/realtime/memory-hub.d.ts.map +1 -0
- package/dist/realtime/persistent-channel.d.ts +105 -0
- package/dist/realtime/persistent-channel.d.ts.map +1 -0
- package/dist/realtime/presence.d.ts +73 -0
- package/dist/realtime/presence.d.ts.map +1 -0
- package/dist/realtime/relay-persistence.d.ts +37 -0
- package/dist/realtime/relay-persistence.d.ts.map +1 -0
- package/dist/realtime/relay-persistence.js +107 -0
- package/dist/realtime/relay-server.d.ts +103 -0
- package/dist/realtime/relay-server.d.ts.map +1 -0
- package/dist/realtime/room.d.ts +98 -0
- package/dist/realtime/room.d.ts.map +1 -0
- package/dist/realtime/text.d.ts +73 -0
- package/dist/realtime/text.d.ts.map +1 -0
- package/dist/realtime/types.d.ts +89 -0
- package/dist/realtime/types.d.ts.map +1 -0
- package/dist/realtime/websocket-relay-transport.d.ts +28 -0
- package/dist/realtime/websocket-relay-transport.d.ts.map +1 -0
- package/dist/realtime.bundle.js +1100 -0
- package/dist/remote-manager-BLJZ6KF6.js +224 -0
- package/dist/{remote-manager-xvbg4230.js → remote-manager-BPYE46SI.js} +24 -15
- package/dist/remote-manager-FMESEAFA.js +224 -0
- package/dist/remote-manager-K2WZ5RHY.js +223 -0
- package/dist/remote-manager-SG545WNY.js +224 -0
- package/dist/remote-manager-SG5PQKCH.js +224 -0
- package/dist/remote-manager-WGP6MIQZ.js +224 -0
- package/dist/scaffold/write.d.ts.map +1 -1
- package/dist/schema/define.d.ts +137 -0
- package/dist/schema/define.d.ts.map +1 -0
- package/dist/schema/entity-projection.d.ts +34 -0
- package/dist/schema/entity-projection.d.ts.map +1 -0
- package/dist/schema/eql.d.ts +46 -0
- package/dist/schema/eql.d.ts.map +1 -0
- package/dist/schema/index.d.ts +21 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +45 -0
- package/dist/schema/kernel-resolve.d.ts +21 -0
- package/dist/schema/kernel-resolve.d.ts.map +1 -0
- package/dist/schema/mutations.d.ts +20 -0
- package/dist/schema/mutations.d.ts.map +1 -0
- package/dist/schema/resolve.d.ts +21 -0
- package/dist/schema/resolve.d.ts.map +1 -0
- package/dist/sdk-3KBB3E6V.js +16 -0
- package/dist/sdk-4ZQO6UTU.js +16 -0
- package/dist/sdk-6JA6GV3G.js +16 -0
- package/dist/sdk-6VTP5UTZ.js +16 -0
- package/dist/sdk-7VS6TYCD.js +16 -0
- package/dist/sdk-HQ3FTLRT.js +16 -0
- package/dist/sdk-HZ7NU3XE.js +15 -0
- package/dist/sdk-KBQE2OXT.js +16 -0
- package/dist/sdk-LZ7W3EEY.js +9 -0
- package/dist/sdk-MSCDZ7JU.js +15 -0
- package/dist/sdk-WNZOGO3S.js +15 -0
- package/dist/sdk-YLV33ZCW.js +9 -0
- package/dist/sdk-ZSUD2LLJ.js +16 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +69 -61
- package/dist/server/node-adapter.js +5 -104
- package/dist/server/realtime.d.ts +10 -2
- package/dist/server/realtime.d.ts.map +1 -1
- package/dist/server/server.d.ts +7 -16
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/sprites.d.ts.map +1 -1
- package/dist/server/tenancy.d.ts.map +1 -1
- package/dist/server-AFXFFBWA.js +11 -0
- package/dist/server-AGHC4VUL.js +11 -0
- package/dist/server-BOH7M4TT.js +13 -0
- package/dist/server-DBUY2KY5.js +11 -0
- package/dist/server-GWBQJPRG.js +11 -0
- package/dist/server-IGBIIJSF.js +13 -0
- package/dist/server-JZZFULVU.js +11 -0
- package/dist/server-L5XAF4M5.js +11 -0
- package/dist/server-NYFUHANA.js +12 -0
- package/dist/server-OABUB2LO.js +12 -0
- package/dist/server-P2CKZWWV.js +12 -0
- package/dist/{sprites-vc4qbrp1.js → sprites-RU3E4XQN.js} +6 -7
- package/dist/sprites-XVSMQLSI.js +15 -0
- package/dist/sql-wasm-FORCZFHZ.js +2148 -0
- package/dist/sql-wasm-JZH76RLO.js +2148 -0
- package/dist/sqljs-backend-CJQOIQYE.js +266 -0
- package/dist/sqljs-backend-KWXBUDUO.js +266 -0
- package/dist/state-demo.bundle.js +1033 -0
- package/dist/svelte/index.d.ts +17 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +51 -0
- package/dist/svelte/schema-hooks.d.ts +45 -0
- package/dist/svelte/schema-hooks.d.ts.map +1 -0
- package/dist/svelte/schema-hooks.js +71 -0
- package/dist/svelte/stores.d.ts +78 -0
- package/dist/svelte/stores.d.ts.map +1 -0
- package/dist/sync/http-transport.d.ts +3 -3
- package/dist/sync/http-transport.d.ts.map +1 -1
- package/dist/sync/index.d.ts +15 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +617 -0
- package/dist/sync/memory-room.d.ts +37 -0
- package/dist/sync/memory-room.d.ts.map +1 -0
- package/dist/sync/memory-transport.d.ts +3 -3
- package/dist/sync/memory-transport.d.ts.map +1 -1
- package/dist/sync/partykit-room.d.ts +40 -0
- package/dist/sync/partykit-room.d.ts.map +1 -0
- package/dist/sync/partykit-transport.d.ts +84 -0
- package/dist/sync/partykit-transport.d.ts.map +1 -0
- package/dist/sync/room-core.d.ts +53 -0
- package/dist/sync/room-core.d.ts.map +1 -0
- package/dist/sync/sync-engine.d.ts +40 -2
- package/dist/sync/sync-engine.d.ts.map +1 -1
- package/dist/sync/sync-room-server.d.ts +39 -0
- package/dist/sync/sync-room-server.d.ts.map +1 -0
- package/dist/sync/types.d.ts +70 -3
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/vcs-sync-peer.d.ts +63 -0
- package/dist/sync/vcs-sync-peer.d.ts.map +1 -0
- package/dist/sync/ws-transport.d.ts +2 -2
- package/dist/sync/ws-transport.d.ts.map +1 -1
- package/dist/tenancy-CBWYEVUB.js +11 -0
- package/dist/tenancy-FO6WVYFN.js +13 -0
- package/dist/tenancy-FWDBESMX.js +14 -0
- package/dist/tenancy-HGPIS5QA.js +13 -0
- package/dist/tenancy-HXFALA37.js +14 -0
- package/dist/tenancy-OP34NFFS.js +14 -0
- package/dist/tenancy-S676GLID.js +14 -0
- package/dist/tenancy-V7ARWNNV.js +14 -0
- package/dist/tenancy-ZDN4GXK5.js +13 -0
- package/dist/tenancy-ZT5VMY7B.js +14 -0
- package/dist/ui/client.html +355 -67
- package/dist/ui/launch-explorer.d.ts +22 -0
- package/dist/ui/launch-explorer.d.ts.map +1 -0
- package/dist/ui/server.d.ts +1 -1
- package/dist/ui/server.d.ts.map +1 -1
- package/dist/vcs/blob-store.d.ts.map +1 -1
- package/dist/vcs/idb-op-log.d.ts +67 -0
- package/dist/vcs/idb-op-log.d.ts.map +1 -0
- package/dist/vcs/index.d.ts +1 -0
- package/dist/vcs/index.d.ts.map +1 -1
- package/dist/vcs/index.js +81 -72
- package/dist/vcs/issue.d.ts +22 -5
- package/dist/vcs/issue.d.ts.map +1 -1
- package/dist/vcs/lane-materialize.d.ts +5 -0
- package/dist/vcs/lane-materialize.d.ts.map +1 -1
- package/dist/vcs/op-log.d.ts +28 -2
- package/dist/vcs/op-log.d.ts.map +1 -1
- package/dist/vcs/ops.d.ts +10 -0
- package/dist/vcs/ops.d.ts.map +1 -1
- package/dist/{vm-config-6xhsj6b3.js → vm-config-JI4OXKDQ.js} +9 -10
- package/dist/vm-config-YZRJ3KUB.js +21 -0
- package/dist/vue/hooks.d.ts +64 -0
- package/dist/vue/hooks.d.ts.map +1 -0
- package/dist/vue/index.d.ts +19 -0
- package/dist/vue/index.d.ts.map +1 -0
- package/dist/vue/index.js +59 -0
- package/dist/vue/schema-hooks.d.ts +41 -0
- package/dist/vue/schema-hooks.d.ts.map +1 -0
- package/dist/vue/schema-hooks.js +64 -0
- package/package.json +118 -16
- package/dist/deploy-999q207z.js +0 -10
- package/dist/engine-y0724kjq.js +0 -8
- package/dist/import-s2b8e0ft.js +0 -11
- package/dist/index-a76rekgs.js +0 -67
- package/dist/index-c9h37r6h.js +0 -1
- package/dist/index-hr9qvv77.js +0 -860
- package/dist/index-k5b0xskw.js +0 -1
- package/dist/index-y6a4kj0p.js +0 -43
- package/dist/sdk-bepky0xs.js +0 -16
- package/dist/server-szdjx0nt.js +0 -13
- package/dist/sqlite-backend-0vsmc6qj.js +0 -8
- package/dist/tenancy-pjm32b4v.js +0 -14
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
// @bun
|
|
2
1
|
import {
|
|
3
2
|
__esm,
|
|
4
3
|
__export,
|
|
5
4
|
__require
|
|
6
|
-
} from "./
|
|
5
|
+
} from "./chunk-2ESYSVXG.js";
|
|
7
6
|
|
|
8
7
|
// src/links/parser.ts
|
|
9
8
|
function parseFileRefs(content, filePath) {
|
|
@@ -28,9 +27,8 @@ function parseDocCommentRefs(content, filePath, ext) {
|
|
|
28
27
|
}
|
|
29
28
|
function extractRefs(text, filePath, context, lineOffset = 0) {
|
|
30
29
|
const refs = [];
|
|
31
|
-
const lines = text.split(
|
|
32
|
-
|
|
33
|
-
for (let i = 0;i < lines.length; i++) {
|
|
30
|
+
const lines = text.split("\n");
|
|
31
|
+
for (let i = 0; i < lines.length; i++) {
|
|
34
32
|
const line = lines[i];
|
|
35
33
|
let match;
|
|
36
34
|
const re = new RegExp(WIKI_LINK_RE.source, WIKI_LINK_RE.flags);
|
|
@@ -39,8 +37,7 @@ function extractRefs(text, filePath, context, lineOffset = 0) {
|
|
|
39
37
|
const col = match.index;
|
|
40
38
|
const lineNum = i + 1 + lineOffset;
|
|
41
39
|
const parsed = parseRefContent(raw);
|
|
42
|
-
if (!parsed)
|
|
43
|
-
continue;
|
|
40
|
+
if (!parsed) continue;
|
|
44
41
|
refs.push({
|
|
45
42
|
...parsed,
|
|
46
43
|
raw,
|
|
@@ -56,21 +53,18 @@ function extractRefs(text, filePath, context, lineOffset = 0) {
|
|
|
56
53
|
return refs;
|
|
57
54
|
}
|
|
58
55
|
function parseRefContent(raw) {
|
|
59
|
-
if (!raw || !raw.trim())
|
|
60
|
-
return null;
|
|
56
|
+
if (!raw || !raw.trim()) return null;
|
|
61
57
|
let content;
|
|
62
58
|
let alias;
|
|
63
59
|
const pipeIdx = raw.indexOf("|");
|
|
64
60
|
if (pipeIdx !== -1) {
|
|
65
61
|
content = raw.substring(0, pipeIdx).trim();
|
|
66
62
|
alias = raw.substring(pipeIdx + 1).trim();
|
|
67
|
-
if (!alias)
|
|
68
|
-
alias = undefined;
|
|
63
|
+
if (!alias) alias = void 0;
|
|
69
64
|
} else {
|
|
70
65
|
content = raw.trim();
|
|
71
66
|
}
|
|
72
|
-
if (!content)
|
|
73
|
-
return null;
|
|
67
|
+
if (!content) return null;
|
|
74
68
|
const colonIdx = content.indexOf(":");
|
|
75
69
|
if (colonIdx !== -1) {
|
|
76
70
|
const possibleNs = content.substring(0, colonIdx);
|
|
@@ -83,34 +77,27 @@ function parseRefContent(raw) {
|
|
|
83
77
|
}
|
|
84
78
|
const { target, anchor } = splitAnchor(content);
|
|
85
79
|
const inferred = inferNamespace(target, anchor);
|
|
86
|
-
if (!inferred)
|
|
87
|
-
return null;
|
|
80
|
+
if (!inferred) return null;
|
|
88
81
|
return { namespace: inferred, target, anchor, alias };
|
|
89
82
|
}
|
|
90
83
|
function splitAnchor(content) {
|
|
91
84
|
const hashIdx = content.indexOf("#");
|
|
92
|
-
if (hashIdx === -1)
|
|
93
|
-
return { target: content };
|
|
85
|
+
if (hashIdx === -1) return { target: content };
|
|
94
86
|
return {
|
|
95
87
|
target: content.substring(0, hashIdx),
|
|
96
|
-
anchor: content.substring(hashIdx + 1) ||
|
|
88
|
+
anchor: content.substring(hashIdx + 1) || void 0
|
|
97
89
|
};
|
|
98
90
|
}
|
|
99
91
|
function isValidNamespace(s) {
|
|
100
92
|
return VALID_NAMESPACES.has(s);
|
|
101
93
|
}
|
|
102
94
|
function inferNamespace(target, anchor) {
|
|
103
|
-
if (/^TRL-\d+$/i.test(target))
|
|
104
|
-
|
|
105
|
-
if (
|
|
106
|
-
|
|
107
|
-
if (anchor)
|
|
108
|
-
return "symbol";
|
|
109
|
-
if (target.includes("/"))
|
|
110
|
-
return "file";
|
|
95
|
+
if (/^TRL-\d+$/i.test(target)) return "issue";
|
|
96
|
+
if (/^DEC-\d+$/i.test(target)) return "decision";
|
|
97
|
+
if (anchor) return "symbol";
|
|
98
|
+
if (target.includes("/")) return "file";
|
|
111
99
|
const ext = target.split(".").pop()?.toLowerCase();
|
|
112
|
-
if (ext && CODE_EXTENSIONS.has(ext))
|
|
113
|
-
return "file";
|
|
100
|
+
if (ext && CODE_EXTENSIONS.has(ext)) return "file";
|
|
114
101
|
return null;
|
|
115
102
|
}
|
|
116
103
|
function extractDocComments(content, ext) {
|
|
@@ -139,12 +126,11 @@ function extractDocComments(content, ext) {
|
|
|
139
126
|
}
|
|
140
127
|
function extractJSDocComments(content) {
|
|
141
128
|
const blocks = [];
|
|
142
|
-
const lines = content.split(
|
|
143
|
-
`);
|
|
129
|
+
const lines = content.split("\n");
|
|
144
130
|
let inBlock = false;
|
|
145
131
|
let blockLines = [];
|
|
146
132
|
let blockStart = 0;
|
|
147
|
-
for (let i = 0;i < lines.length; i++) {
|
|
133
|
+
for (let i = 0; i < lines.length; i++) {
|
|
148
134
|
const trimmed = lines[i].trim();
|
|
149
135
|
if (!inBlock && (trimmed.startsWith("/**") || trimmed.startsWith("/*"))) {
|
|
150
136
|
inBlock = true;
|
|
@@ -152,8 +138,7 @@ function extractJSDocComments(content) {
|
|
|
152
138
|
blockLines = [trimmed];
|
|
153
139
|
if (trimmed.endsWith("*/") && trimmed.length > 4) {
|
|
154
140
|
blocks.push({
|
|
155
|
-
text: stripBlockCommentMarkers(blockLines.join(
|
|
156
|
-
`)),
|
|
141
|
+
text: stripBlockCommentMarkers(blockLines.join("\n")),
|
|
157
142
|
startLine: blockStart,
|
|
158
143
|
context: "jsdoc"
|
|
159
144
|
});
|
|
@@ -166,8 +151,7 @@ function extractJSDocComments(content) {
|
|
|
166
151
|
blockLines.push(trimmed);
|
|
167
152
|
if (trimmed.includes("*/")) {
|
|
168
153
|
blocks.push({
|
|
169
|
-
text: stripBlockCommentMarkers(blockLines.join(
|
|
170
|
-
`)),
|
|
154
|
+
text: stripBlockCommentMarkers(blockLines.join("\n")),
|
|
171
155
|
startLine: blockStart,
|
|
172
156
|
context: "jsdoc"
|
|
173
157
|
});
|
|
@@ -187,19 +171,16 @@ function extractJSDocComments(content) {
|
|
|
187
171
|
return blocks;
|
|
188
172
|
}
|
|
189
173
|
function stripBlockCommentMarkers(text) {
|
|
190
|
-
return text.replace(/^\/\*\*?\s?/, "").replace(/\*\/\s*$/, "").split(
|
|
191
|
-
`).map((line) => line.replace(/^\s*\*\s?/, "")).join(`
|
|
192
|
-
`).trim();
|
|
174
|
+
return text.replace(/^\/\*\*?\s?/, "").replace(/\*\/\s*$/, "").split("\n").map((line) => line.replace(/^\s*\*\s?/, "")).join("\n").trim();
|
|
193
175
|
}
|
|
194
176
|
function extractPythonDocstrings(content) {
|
|
195
177
|
const blocks = [];
|
|
196
|
-
const lines = content.split(
|
|
197
|
-
`);
|
|
178
|
+
const lines = content.split("\n");
|
|
198
179
|
let inDocstring = false;
|
|
199
180
|
let delimiter = "";
|
|
200
181
|
let blockLines = [];
|
|
201
182
|
let blockStart = 0;
|
|
202
|
-
for (let i = 0;i < lines.length; i++) {
|
|
183
|
+
for (let i = 0; i < lines.length; i++) {
|
|
203
184
|
const trimmed = lines[i].trim();
|
|
204
185
|
if (!inDocstring) {
|
|
205
186
|
for (const delim of ['"""', "'''"]) {
|
|
@@ -230,8 +211,7 @@ function extractPythonDocstrings(content) {
|
|
|
230
211
|
if (trimmed.endsWith(delimiter)) {
|
|
231
212
|
blockLines.push(trimmed.slice(0, -delimiter.length));
|
|
232
213
|
blocks.push({
|
|
233
|
-
text: blockLines.join(
|
|
234
|
-
`).trim(),
|
|
214
|
+
text: blockLines.join("\n").trim(),
|
|
235
215
|
startLine: blockStart,
|
|
236
216
|
context: "pydoc"
|
|
237
217
|
});
|
|
@@ -246,9 +226,8 @@ function extractPythonDocstrings(content) {
|
|
|
246
226
|
}
|
|
247
227
|
function extractRustDocComments(content) {
|
|
248
228
|
const blocks = [];
|
|
249
|
-
const lines = content.split(
|
|
250
|
-
|
|
251
|
-
for (let i = 0;i < lines.length; i++) {
|
|
229
|
+
const lines = content.split("\n");
|
|
230
|
+
for (let i = 0; i < lines.length; i++) {
|
|
252
231
|
const trimmed = lines[i].trim();
|
|
253
232
|
if (trimmed.startsWith("///") || trimmed.startsWith("//!")) {
|
|
254
233
|
blocks.push({
|
|
@@ -262,9 +241,8 @@ function extractRustDocComments(content) {
|
|
|
262
241
|
}
|
|
263
242
|
function extractGoDocComments(content) {
|
|
264
243
|
const blocks = [];
|
|
265
|
-
const lines = content.split(
|
|
266
|
-
|
|
267
|
-
for (let i = 0;i < lines.length; i++) {
|
|
244
|
+
const lines = content.split("\n");
|
|
245
|
+
for (let i = 0; i < lines.length; i++) {
|
|
268
246
|
const trimmed = lines[i].trim();
|
|
269
247
|
if (trimmed.startsWith("//")) {
|
|
270
248
|
blocks.push({
|
|
@@ -278,9 +256,8 @@ function extractGoDocComments(content) {
|
|
|
278
256
|
}
|
|
279
257
|
function extractRubyDocComments(content) {
|
|
280
258
|
const blocks = [];
|
|
281
|
-
const lines = content.split(
|
|
282
|
-
|
|
283
|
-
for (let i = 0;i < lines.length; i++) {
|
|
259
|
+
const lines = content.split("\n");
|
|
260
|
+
for (let i = 0; i < lines.length; i++) {
|
|
284
261
|
const trimmed = lines[i].trim();
|
|
285
262
|
if (trimmed.startsWith("#")) {
|
|
286
263
|
blocks.push({
|
|
@@ -293,42 +270,45 @@ function extractRubyDocComments(content) {
|
|
|
293
270
|
return blocks;
|
|
294
271
|
}
|
|
295
272
|
var WIKI_LINK_RE, CODE_EXTENSIONS, VALID_NAMESPACES;
|
|
296
|
-
var init_parser = __esm(
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
273
|
+
var init_parser = __esm({
|
|
274
|
+
"src/links/parser.ts"() {
|
|
275
|
+
"use strict";
|
|
276
|
+
WIKI_LINK_RE = /\[\[([^\]]+)\]\]/g;
|
|
277
|
+
CODE_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
278
|
+
"ts",
|
|
279
|
+
"tsx",
|
|
280
|
+
"js",
|
|
281
|
+
"jsx",
|
|
282
|
+
"mjs",
|
|
283
|
+
"cjs",
|
|
284
|
+
"py",
|
|
285
|
+
"pyi",
|
|
286
|
+
"go",
|
|
287
|
+
"rs",
|
|
288
|
+
"rb",
|
|
289
|
+
"java",
|
|
290
|
+
"cs",
|
|
291
|
+
"md",
|
|
292
|
+
"json",
|
|
293
|
+
"yaml",
|
|
294
|
+
"yml",
|
|
295
|
+
"toml",
|
|
296
|
+
"css",
|
|
297
|
+
"scss",
|
|
298
|
+
"less",
|
|
299
|
+
"html",
|
|
300
|
+
"vue",
|
|
301
|
+
"svelte"
|
|
302
|
+
]);
|
|
303
|
+
VALID_NAMESPACES = /* @__PURE__ */ new Set([
|
|
304
|
+
"issue",
|
|
305
|
+
"file",
|
|
306
|
+
"symbol",
|
|
307
|
+
"identity",
|
|
308
|
+
"milestone",
|
|
309
|
+
"decision"
|
|
310
|
+
]);
|
|
311
|
+
}
|
|
332
312
|
});
|
|
333
313
|
|
|
334
314
|
// src/links/resolver.ts
|
|
@@ -355,7 +335,7 @@ function resolveRefs(refs, ctx) {
|
|
|
355
335
|
}
|
|
356
336
|
function resolveIssue(ref, ctx) {
|
|
357
337
|
const title = ctx.getIssueTitle(ref.target);
|
|
358
|
-
if (title !==
|
|
338
|
+
if (title !== void 0) {
|
|
359
339
|
return {
|
|
360
340
|
...ref,
|
|
361
341
|
state: "resolved",
|
|
@@ -411,7 +391,7 @@ function resolveIdentity(ref, ctx) {
|
|
|
411
391
|
}
|
|
412
392
|
function resolveMilestone(ref, ctx) {
|
|
413
393
|
const title = ctx.getMilestoneTitle(ref.target);
|
|
414
|
-
if (title !==
|
|
394
|
+
if (title !== void 0) {
|
|
415
395
|
return {
|
|
416
396
|
...ref,
|
|
417
397
|
state: "resolved",
|
|
@@ -447,20 +427,20 @@ function createResolverContext(engine) {
|
|
|
447
427
|
},
|
|
448
428
|
getMilestoneTitle(idOrMessage) {
|
|
449
429
|
const byId = milestones.find((m) => m.id === idOrMessage);
|
|
450
|
-
if (byId)
|
|
451
|
-
|
|
452
|
-
|
|
430
|
+
if (byId) return byId.message;
|
|
431
|
+
const byMsg = milestones.find(
|
|
432
|
+
(m) => m.message && m.message.toLowerCase().includes(idOrMessage.toLowerCase())
|
|
433
|
+
);
|
|
453
434
|
return byMsg?.message;
|
|
454
435
|
},
|
|
455
436
|
hasSymbol(filePath, symbolName) {
|
|
456
437
|
try {
|
|
457
|
-
const { readFileSync } = __require("fs");
|
|
458
|
-
const { join } = __require("path");
|
|
459
|
-
const absPath =
|
|
460
|
-
const content =
|
|
438
|
+
const { readFileSync: readFileSync2 } = __require("fs");
|
|
439
|
+
const { join: join2 } = __require("path");
|
|
440
|
+
const absPath = join2(engine.getRootPath(), filePath);
|
|
441
|
+
const content = readFileSync2(absPath, "utf-8");
|
|
461
442
|
const result = engine.parseFile(content, filePath);
|
|
462
|
-
if (!result)
|
|
463
|
-
return false;
|
|
443
|
+
if (!result) return false;
|
|
464
444
|
return result.declarations.some((d) => d.name === symbolName);
|
|
465
445
|
} catch {
|
|
466
446
|
return false;
|
|
@@ -482,25 +462,22 @@ function createResolverContext(engine) {
|
|
|
482
462
|
return milestones.map((m) => m.id);
|
|
483
463
|
},
|
|
484
464
|
hasDecision(id) {
|
|
485
|
-
if (!engine.getDecision)
|
|
486
|
-
return false;
|
|
465
|
+
if (!engine.getDecision) return false;
|
|
487
466
|
return engine.getDecision(id) !== null;
|
|
488
467
|
},
|
|
489
468
|
getDecisionTitle(id) {
|
|
490
|
-
if (!engine.getDecision)
|
|
491
|
-
return;
|
|
469
|
+
if (!engine.getDecision) return void 0;
|
|
492
470
|
const d = engine.getDecision(id);
|
|
493
471
|
return d?.toolName;
|
|
494
472
|
},
|
|
495
473
|
getSymbolNames(filePath) {
|
|
496
474
|
try {
|
|
497
|
-
const { readFileSync } = __require("fs");
|
|
498
|
-
const { join } = __require("path");
|
|
499
|
-
const absPath =
|
|
500
|
-
const content =
|
|
475
|
+
const { readFileSync: readFileSync2 } = __require("fs");
|
|
476
|
+
const { join: join2 } = __require("path");
|
|
477
|
+
const absPath = join2(engine.getRootPath(), filePath);
|
|
478
|
+
const content = readFileSync2(absPath, "utf-8");
|
|
501
479
|
const result = engine.parseFile(content, filePath);
|
|
502
|
-
if (!result)
|
|
503
|
-
return [];
|
|
480
|
+
if (!result) return [];
|
|
504
481
|
return result.declarations.map((d) => d.name);
|
|
505
482
|
} catch {
|
|
506
483
|
return [];
|
|
@@ -508,13 +485,17 @@ function createResolverContext(engine) {
|
|
|
508
485
|
}
|
|
509
486
|
};
|
|
510
487
|
}
|
|
511
|
-
var init_resolver = (
|
|
488
|
+
var init_resolver = __esm({
|
|
489
|
+
"src/links/resolver.ts"() {
|
|
490
|
+
"use strict";
|
|
491
|
+
}
|
|
492
|
+
});
|
|
512
493
|
|
|
513
494
|
// src/links/ref-index.ts
|
|
514
495
|
function buildRefIndex(files, ctx) {
|
|
515
496
|
const index = {
|
|
516
|
-
outgoing: new Map,
|
|
517
|
-
incoming: new Map
|
|
497
|
+
outgoing: /* @__PURE__ */ new Map(),
|
|
498
|
+
incoming: /* @__PURE__ */ new Map()
|
|
518
499
|
};
|
|
519
500
|
for (const file of files) {
|
|
520
501
|
const refs = parseFileRefs(file.content, file.path);
|
|
@@ -529,8 +510,7 @@ function updateFileInIndex(index, filePath, content, ctx) {
|
|
|
529
510
|
}
|
|
530
511
|
function removeFileFromIndex(index, filePath) {
|
|
531
512
|
const oldRefs = index.outgoing.get(filePath);
|
|
532
|
-
if (!oldRefs)
|
|
533
|
-
return;
|
|
513
|
+
if (!oldRefs) return;
|
|
534
514
|
for (const ref of oldRefs) {
|
|
535
515
|
const resolved = resolveRefToEntityId(ref);
|
|
536
516
|
if (resolved) {
|
|
@@ -571,8 +551,7 @@ function getIndexStats(index) {
|
|
|
571
551
|
};
|
|
572
552
|
}
|
|
573
553
|
function addFileToIndex(index, filePath, refs, ctx) {
|
|
574
|
-
if (refs.length === 0)
|
|
575
|
-
return;
|
|
554
|
+
if (refs.length === 0) return;
|
|
576
555
|
index.outgoing.set(filePath, refs);
|
|
577
556
|
for (const ref of refs) {
|
|
578
557
|
const resolved = resolveRef(ref, ctx);
|
|
@@ -594,45 +573,17 @@ function resolveRefToEntityId(ref) {
|
|
|
594
573
|
}
|
|
595
574
|
return `${ref.namespace}:${ref.target}`;
|
|
596
575
|
}
|
|
597
|
-
var init_ref_index = __esm(
|
|
598
|
-
|
|
599
|
-
|
|
576
|
+
var init_ref_index = __esm({
|
|
577
|
+
"src/links/ref-index.ts"() {
|
|
578
|
+
"use strict";
|
|
579
|
+
init_parser();
|
|
580
|
+
init_resolver();
|
|
581
|
+
}
|
|
600
582
|
});
|
|
601
583
|
|
|
602
584
|
// src/links/lifecycle.ts
|
|
603
585
|
import { readFileSync } from "fs";
|
|
604
586
|
import { join } from "path";
|
|
605
|
-
|
|
606
|
-
class StaleRefRegistry {
|
|
607
|
-
staleRefs = new Map;
|
|
608
|
-
markStale(entityId, reason, sources, opts) {
|
|
609
|
-
const entry = {
|
|
610
|
-
entityId,
|
|
611
|
-
reason,
|
|
612
|
-
causeOpHash: opts?.causeOpHash,
|
|
613
|
-
newTarget: opts?.newTarget,
|
|
614
|
-
timestamp: new Date().toISOString(),
|
|
615
|
-
sources
|
|
616
|
-
};
|
|
617
|
-
this.staleRefs.set(entityId, entry);
|
|
618
|
-
return entry;
|
|
619
|
-
}
|
|
620
|
-
clearStale(entityId) {
|
|
621
|
-
this.staleRefs.delete(entityId);
|
|
622
|
-
}
|
|
623
|
-
isStale(entityId) {
|
|
624
|
-
return this.staleRefs.has(entityId);
|
|
625
|
-
}
|
|
626
|
-
getStale(entityId) {
|
|
627
|
-
return this.staleRefs.get(entityId);
|
|
628
|
-
}
|
|
629
|
-
getAllStale() {
|
|
630
|
-
return [...this.staleRefs.values()];
|
|
631
|
-
}
|
|
632
|
-
getByReason(reason) {
|
|
633
|
-
return this.getAllStale().filter((s) => s.reason === reason);
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
587
|
function buildRenameProposal(index, filePath, oldName, newName) {
|
|
637
588
|
const oldEntityId = `symbol:${filePath}#${oldName}`;
|
|
638
589
|
const newEntityId = `symbol:${filePath}#${newName}`;
|
|
@@ -641,7 +592,7 @@ function buildRenameProposal(index, filePath, oldName, newName) {
|
|
|
641
592
|
const altSources = getBacklinks(index, altEntityId);
|
|
642
593
|
const allSources = deduplicateSources([...sources, ...altSources]);
|
|
643
594
|
const rewrites = [];
|
|
644
|
-
const affectedFiles = new Set;
|
|
595
|
+
const affectedFiles = /* @__PURE__ */ new Set();
|
|
645
596
|
for (const source of allSources) {
|
|
646
597
|
affectedFiles.add(source.filePath);
|
|
647
598
|
const oldText = buildRefText(filePath, oldName);
|
|
@@ -663,7 +614,7 @@ function buildRenameProposal(index, filePath, oldName, newName) {
|
|
|
663
614
|
}
|
|
664
615
|
function applyRenameProposal(proposal, rootPath) {
|
|
665
616
|
const modifiedFiles = [];
|
|
666
|
-
const byFile = new Map;
|
|
617
|
+
const byFile = /* @__PURE__ */ new Map();
|
|
667
618
|
for (const rw of proposal.rewrites) {
|
|
668
619
|
const existing = byFile.get(rw.filePath) ?? [];
|
|
669
620
|
existing.push(rw);
|
|
@@ -685,22 +636,21 @@ function applyRenameProposal(proposal, rootPath) {
|
|
|
685
636
|
writeFileSync(absPath, content);
|
|
686
637
|
modifiedFiles.push(filePath);
|
|
687
638
|
}
|
|
688
|
-
} catch {
|
|
639
|
+
} catch {
|
|
640
|
+
}
|
|
689
641
|
}
|
|
690
642
|
return modifiedFiles;
|
|
691
643
|
}
|
|
692
644
|
function handleSymbolDeletion(index, registry, filePath, symbolName, causeOpHash) {
|
|
693
645
|
const entityId = `symbol:${filePath}#${symbolName}`;
|
|
694
646
|
const sources = getBacklinks(index, entityId);
|
|
695
|
-
if (sources.length === 0)
|
|
696
|
-
return null;
|
|
647
|
+
if (sources.length === 0) return null;
|
|
697
648
|
return registry.markStale(entityId, "deleted", sources, { causeOpHash });
|
|
698
649
|
}
|
|
699
650
|
function handleFileDeletion(index, registry, filePath, causeOpHash) {
|
|
700
651
|
const entityId = `file:${filePath}`;
|
|
701
652
|
const sources = getBacklinks(index, entityId);
|
|
702
|
-
if (sources.length === 0)
|
|
703
|
-
return null;
|
|
653
|
+
if (sources.length === 0) return null;
|
|
704
654
|
return registry.markStale(entityId, "deleted", sources, { causeOpHash });
|
|
705
655
|
}
|
|
706
656
|
function getDiagnostics(index, registry, resolvedEntityIds) {
|
|
@@ -735,7 +685,12 @@ function processSemanticPatches(patches, filePath, index, registry, causeOpHash)
|
|
|
735
685
|
const events = [];
|
|
736
686
|
for (const patch of patches) {
|
|
737
687
|
if (patch.kind === "symbolRename") {
|
|
738
|
-
const proposal = buildRenameProposal(
|
|
688
|
+
const proposal = buildRenameProposal(
|
|
689
|
+
index,
|
|
690
|
+
filePath,
|
|
691
|
+
patch.oldName,
|
|
692
|
+
patch.newName
|
|
693
|
+
);
|
|
739
694
|
if (proposal.rewrites.length > 0) {
|
|
740
695
|
events.push({
|
|
741
696
|
type: "rename-proposal",
|
|
@@ -745,7 +700,13 @@ function processSemanticPatches(patches, filePath, index, registry, causeOpHash)
|
|
|
745
700
|
}
|
|
746
701
|
}
|
|
747
702
|
if (patch.kind === "symbolRemove") {
|
|
748
|
-
const staleRef = handleSymbolDeletion(
|
|
703
|
+
const staleRef = handleSymbolDeletion(
|
|
704
|
+
index,
|
|
705
|
+
registry,
|
|
706
|
+
filePath,
|
|
707
|
+
patch.entityName,
|
|
708
|
+
causeOpHash
|
|
709
|
+
);
|
|
749
710
|
if (staleRef) {
|
|
750
711
|
events.push({
|
|
751
712
|
type: "stale-detected",
|
|
@@ -767,51 +728,130 @@ function buildEntityIdFromRef(ref) {
|
|
|
767
728
|
return `${ref.namespace}:${ref.target}`;
|
|
768
729
|
}
|
|
769
730
|
function deduplicateSources(sources) {
|
|
770
|
-
const seen = new Set;
|
|
731
|
+
const seen = /* @__PURE__ */ new Set();
|
|
771
732
|
return sources.filter((s) => {
|
|
772
733
|
const key = `${s.filePath}:${s.line}:${s.col}`;
|
|
773
|
-
if (seen.has(key))
|
|
774
|
-
return false;
|
|
734
|
+
if (seen.has(key)) return false;
|
|
775
735
|
seen.add(key);
|
|
776
736
|
return true;
|
|
777
737
|
});
|
|
778
738
|
}
|
|
779
|
-
var
|
|
780
|
-
|
|
739
|
+
var StaleRefRegistry;
|
|
740
|
+
var init_lifecycle = __esm({
|
|
741
|
+
"src/links/lifecycle.ts"() {
|
|
742
|
+
"use strict";
|
|
743
|
+
init_ref_index();
|
|
744
|
+
StaleRefRegistry = class {
|
|
745
|
+
staleRefs = /* @__PURE__ */ new Map();
|
|
746
|
+
/**
|
|
747
|
+
* Mark an entity as stale due to rename or deletion.
|
|
748
|
+
*/
|
|
749
|
+
markStale(entityId, reason, sources, opts) {
|
|
750
|
+
const entry = {
|
|
751
|
+
entityId,
|
|
752
|
+
reason,
|
|
753
|
+
causeOpHash: opts?.causeOpHash,
|
|
754
|
+
newTarget: opts?.newTarget,
|
|
755
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
756
|
+
sources
|
|
757
|
+
};
|
|
758
|
+
this.staleRefs.set(entityId, entry);
|
|
759
|
+
return entry;
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* Remove stale status (e.g. after user accepts rename update).
|
|
763
|
+
*/
|
|
764
|
+
clearStale(entityId) {
|
|
765
|
+
this.staleRefs.delete(entityId);
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* Check if an entity is stale.
|
|
769
|
+
*/
|
|
770
|
+
isStale(entityId) {
|
|
771
|
+
return this.staleRefs.has(entityId);
|
|
772
|
+
}
|
|
773
|
+
/**
|
|
774
|
+
* Get stale info for an entity.
|
|
775
|
+
*/
|
|
776
|
+
getStale(entityId) {
|
|
777
|
+
return this.staleRefs.get(entityId);
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Get all stale refs.
|
|
781
|
+
*/
|
|
782
|
+
getAllStale() {
|
|
783
|
+
return [...this.staleRefs.values()];
|
|
784
|
+
}
|
|
785
|
+
/**
|
|
786
|
+
* Get stale refs filtered by reason.
|
|
787
|
+
*/
|
|
788
|
+
getByReason(reason) {
|
|
789
|
+
return this.getAllStale().filter((s) => s.reason === reason);
|
|
790
|
+
}
|
|
791
|
+
};
|
|
792
|
+
}
|
|
781
793
|
});
|
|
782
794
|
|
|
783
795
|
// src/links/index.ts
|
|
784
|
-
var
|
|
785
|
-
__export(
|
|
786
|
-
|
|
787
|
-
resolveRefs: () => resolveRefs,
|
|
788
|
-
resolveRef: () => resolveRef,
|
|
789
|
-
removeFileFromIndex: () => removeFileFromIndex,
|
|
790
|
-
processSemanticPatches: () => processSemanticPatches,
|
|
791
|
-
parseRefContent: () => parseRefContent,
|
|
792
|
-
parseMarkdownRefs: () => parseMarkdownRefs,
|
|
793
|
-
parseFileRefs: () => parseFileRefs,
|
|
794
|
-
parseDocCommentRefs: () => parseDocCommentRefs,
|
|
795
|
-
inferNamespace: () => inferNamespace,
|
|
796
|
-
handleSymbolDeletion: () => handleSymbolDeletion,
|
|
797
|
-
handleFileDeletion: () => handleFileDeletion,
|
|
798
|
-
getReferencedEntities: () => getReferencedEntities,
|
|
799
|
-
getOutgoingRefs: () => getOutgoingRefs,
|
|
800
|
-
getIndexStats: () => getIndexStats,
|
|
801
|
-
getFilesWithRefs: () => getFilesWithRefs,
|
|
802
|
-
getDiagnostics: () => getDiagnostics,
|
|
803
|
-
getBacklinks: () => getBacklinks,
|
|
804
|
-
createResolverContext: () => createResolverContext,
|
|
805
|
-
buildRenameProposal: () => buildRenameProposal,
|
|
806
|
-
buildRefIndex: () => buildRefIndex,
|
|
796
|
+
var links_exports = {};
|
|
797
|
+
__export(links_exports, {
|
|
798
|
+
StaleRefRegistry: () => StaleRefRegistry,
|
|
807
799
|
applyRenameProposal: () => applyRenameProposal,
|
|
808
|
-
|
|
800
|
+
buildRefIndex: () => buildRefIndex,
|
|
801
|
+
buildRenameProposal: () => buildRenameProposal,
|
|
802
|
+
createResolverContext: () => createResolverContext,
|
|
803
|
+
getBacklinks: () => getBacklinks,
|
|
804
|
+
getDiagnostics: () => getDiagnostics,
|
|
805
|
+
getFilesWithRefs: () => getFilesWithRefs,
|
|
806
|
+
getIndexStats: () => getIndexStats,
|
|
807
|
+
getOutgoingRefs: () => getOutgoingRefs,
|
|
808
|
+
getReferencedEntities: () => getReferencedEntities,
|
|
809
|
+
handleFileDeletion: () => handleFileDeletion,
|
|
810
|
+
handleSymbolDeletion: () => handleSymbolDeletion,
|
|
811
|
+
inferNamespace: () => inferNamespace,
|
|
812
|
+
parseDocCommentRefs: () => parseDocCommentRefs,
|
|
813
|
+
parseFileRefs: () => parseFileRefs,
|
|
814
|
+
parseMarkdownRefs: () => parseMarkdownRefs,
|
|
815
|
+
parseRefContent: () => parseRefContent,
|
|
816
|
+
processSemanticPatches: () => processSemanticPatches,
|
|
817
|
+
removeFileFromIndex: () => removeFileFromIndex,
|
|
818
|
+
resolveRef: () => resolveRef,
|
|
819
|
+
resolveRefs: () => resolveRefs,
|
|
820
|
+
updateFileInIndex: () => updateFileInIndex
|
|
809
821
|
});
|
|
810
|
-
var init_links = __esm(
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
822
|
+
var init_links = __esm({
|
|
823
|
+
"src/links/index.ts"() {
|
|
824
|
+
init_parser();
|
|
825
|
+
init_resolver();
|
|
826
|
+
init_ref_index();
|
|
827
|
+
init_lifecycle();
|
|
828
|
+
}
|
|
815
829
|
});
|
|
816
830
|
|
|
817
|
-
export {
|
|
831
|
+
export {
|
|
832
|
+
parseFileRefs,
|
|
833
|
+
parseMarkdownRefs,
|
|
834
|
+
parseDocCommentRefs,
|
|
835
|
+
parseRefContent,
|
|
836
|
+
inferNamespace,
|
|
837
|
+
resolveRef,
|
|
838
|
+
resolveRefs,
|
|
839
|
+
createResolverContext,
|
|
840
|
+
buildRefIndex,
|
|
841
|
+
updateFileInIndex,
|
|
842
|
+
removeFileFromIndex,
|
|
843
|
+
getOutgoingRefs,
|
|
844
|
+
getBacklinks,
|
|
845
|
+
getReferencedEntities,
|
|
846
|
+
getFilesWithRefs,
|
|
847
|
+
getIndexStats,
|
|
848
|
+
StaleRefRegistry,
|
|
849
|
+
buildRenameProposal,
|
|
850
|
+
applyRenameProposal,
|
|
851
|
+
handleSymbolDeletion,
|
|
852
|
+
handleFileDeletion,
|
|
853
|
+
getDiagnostics,
|
|
854
|
+
processSemanticPatches,
|
|
855
|
+
links_exports,
|
|
856
|
+
init_links
|
|
857
|
+
};
|