@remnic/core 9.54.5 → 9.54.7
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/access-admin-ops-surface.d.ts +24 -24
- package/dist/access-admin-ops-surface.js +32 -29
- package/dist/access-authorization-probe.d.ts +25 -23
- package/dist/access-authorization-probe.js +35 -30
- package/dist/access-boundary.d.ts +26 -24
- package/dist/access-boundary.js +36 -31
- package/dist/access-cli.js +86 -80
- package/dist/access-cli.js.map +1 -1
- package/dist/access-coding-context-resolution.d.ts +1 -1
- package/dist/access-extraction-force-flush.d.ts +19 -19
- package/dist/access-extraction-force-flush.js +32 -29
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-lcm-compaction.d.ts +22 -22
- package/dist/access-http-lifecycle-flush.d.ts +22 -22
- package/dist/access-http-offline-stream.d.ts +18 -18
- package/dist/access-http-query.js +32 -29
- package/dist/access-http.d.ts +55 -37
- package/dist/access-http.js +52 -43
- package/dist/access-identity-continuity-surface.d.ts +9 -9
- package/dist/access-identity-continuity-surface.js +32 -29
- package/dist/access-lcm-surface.d.ts +21 -21
- package/dist/access-lcm-surface.js +32 -29
- package/dist/access-mcp.d.ts +22 -22
- package/dist/access-mcp.js +40 -36
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-BdHlGd_T.d.ts → access-namespace-preflight-CCNn_6NE.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +32 -29
- package/dist/access-observe-write-surface.d.ts +22 -22
- package/dist/access-observe-write-surface.js +32 -29
- package/dist/access-offline-manifest.d.ts +9 -9
- package/dist/access-offline-manifest.js +2 -2
- package/dist/access-operations-batch.js +34 -31
- package/dist/access-operations.d.ts +23 -23
- package/dist/access-operations.js +38 -34
- package/dist/access-recall-concurrency.d.ts +21 -21
- package/dist/access-recall-concurrency.js +32 -29
- package/dist/access-recall-response.d.ts +19 -19
- package/dist/access-recall-response.js +32 -29
- package/dist/access-recall-surface.d.ts +19 -19
- package/dist/access-recall-surface.js +32 -29
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-DL7X9hrg.d.ts → access-service-DK82xdNi.d.ts} +1314 -83
- package/dist/access-service-helpers.d.ts +22 -22
- package/dist/access-service.d.ts +31 -31
- package/dist/access-service.js +32 -29
- package/dist/access-surface-catalog.d.ts +22 -22
- package/dist/access-surface-catalog.js +209 -2
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +3 -3
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +6 -5
- package/dist/active-memory-bridge.js +2 -2
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +2 -1
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/admin-console/public/what-helps-me/app.js +1594 -0
- package/dist/admin-console/public/what-helps-me/index.html +339 -0
- package/dist/admin-console/public/what-helps-me/model.js +685 -0
- package/dist/admin-console/public/what-helps-me/what-helps-me.css +1296 -0
- package/dist/ambient-provenance.d.ts +1 -1
- package/dist/artifact-search.d.ts +1 -1
- package/dist/{auto-sync-TDHLZPVP.js → auto-sync-NR3GPCOA.js} +4 -4
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +9 -9
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +14 -14
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer-turn-helpers.d.ts +1 -1
- package/dist/buffer.d.ts +2 -2
- package/dist/buffer.js +2 -2
- package/dist/bulk-import/index.d.ts +3 -3
- package/dist/calibration.d.ts +1 -1
- package/dist/calibration.js +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/{catalog-B90is4d8.d.ts → catalog-DGFf8mD9.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +15 -15
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-CSY44OKU.js → chunk-26ZXBTYN.js} +4 -4
- package/dist/chunk-26ZXBTYN.js.map +1 -0
- package/dist/{chunk-LLJMAULE.js → chunk-2FKEIPIT.js} +5 -5
- package/dist/{chunk-AU7Q3LSC.js → chunk-2QSZNTDO.js} +4 -4
- package/dist/chunk-37DZZFFM.js +502 -0
- package/dist/chunk-37DZZFFM.js.map +1 -0
- package/dist/chunk-3HSRWJTC.js +9 -0
- package/dist/chunk-3HSRWJTC.js.map +1 -0
- package/dist/{chunk-TKFGFDPJ.js → chunk-3TIZPSJC.js} +4 -4
- package/dist/{chunk-B4T3FQMT.js → chunk-43SEBY2M.js} +1 -1
- package/dist/{chunk-LVKYLMSM.js → chunk-46SZBVDS.js} +2 -2
- package/dist/{chunk-YKZLOPTC.js → chunk-5FD7JMTX.js} +2 -2
- package/dist/{chunk-2PNXOQ4P.js → chunk-5NB726GV.js} +3 -7
- package/dist/chunk-5NB726GV.js.map +1 -0
- package/dist/chunk-62OKGIJA.js +39 -0
- package/dist/chunk-62OKGIJA.js.map +1 -0
- package/dist/{chunk-WM5LD6AT.js → chunk-6CYHUWCO.js} +2 -2
- package/dist/{chunk-BIF4SHMD.js → chunk-76JJSXK7.js} +1 -1
- package/dist/chunk-76JJSXK7.js.map +1 -0
- package/dist/{chunk-3SXLD5T3.js → chunk-7BD6O7ZV.js} +189 -4
- package/dist/chunk-7BD6O7ZV.js.map +1 -0
- package/dist/chunk-7TBXNYLO.js +346 -0
- package/dist/chunk-7TBXNYLO.js.map +1 -0
- package/dist/{chunk-YR65W7BV.js → chunk-BRR5EUTF.js} +3 -3
- package/dist/{chunk-JKW663ZN.js → chunk-CIAI24TQ.js} +2 -2
- package/dist/{chunk-3WGI7F4V.js → chunk-D3LBIUWV.js} +9219 -5233
- package/dist/chunk-D3LBIUWV.js.map +1 -0
- package/dist/{chunk-YDWPYDML.js → chunk-EKTP7MNS.js} +4 -4
- package/dist/{chunk-6LEIWWAF.js → chunk-F2JRDPON.js} +2 -2
- package/dist/{chunk-VYQ4URQB.js → chunk-FFRTNF3L.js} +2 -2
- package/dist/{chunk-TY6MKIWP.js → chunk-FONWBCVY.js} +3 -3
- package/dist/{chunk-XSV2YDCJ.js → chunk-FPLM2TKD.js} +2 -2
- package/dist/{chunk-VTU5IEKY.js → chunk-FTPONF6B.js} +2 -2
- package/dist/{chunk-6PZGKGAO.js → chunk-FWX7W5PM.js} +2 -2
- package/dist/{chunk-QPW3PAIH.js → chunk-G6DFSS6A.js} +2 -2
- package/dist/{chunk-2DD6ZHOM.js → chunk-GJ776BC2.js} +3 -3
- package/dist/{chunk-XKAR4RF6.js → chunk-GN3WRFJY.js} +6 -6
- package/dist/{chunk-RG426DJO.js → chunk-H7NAZ3UB.js} +2 -2
- package/dist/{chunk-BSXGTDVJ.js → chunk-HBUFQRIM.js} +2 -2
- package/dist/{chunk-FFEBSFVT.js → chunk-HGJ6NJ4E.js} +2 -2
- package/dist/{chunk-WB7JSQCP.js → chunk-HIEWDJ2O.js} +5 -2
- package/dist/{chunk-WB7JSQCP.js.map → chunk-HIEWDJ2O.js.map} +1 -1
- package/dist/{chunk-QTO6BMQZ.js → chunk-I3MSGFGD.js} +17 -6
- package/dist/chunk-I3MSGFGD.js.map +1 -0
- package/dist/{chunk-5JKUSBMX.js → chunk-IKP5OYQQ.js} +2 -2
- package/dist/{chunk-KQAFEZQX.js → chunk-IPLYGWQF.js} +5 -5
- package/dist/{chunk-DBY26JJJ.js → chunk-IQ4NVWEF.js} +2 -2
- package/dist/{chunk-7Q7JWLQ4.js → chunk-JYG4OLWH.js} +2 -2
- package/dist/{chunk-3OTSVCPK.js → chunk-K26NWEOC.js} +4 -4
- package/dist/{chunk-WZWZRZ2V.js → chunk-K2UGPTYY.js} +484 -43
- package/dist/chunk-K2UGPTYY.js.map +1 -0
- package/dist/{chunk-L6CQ7WIW.js → chunk-KFBOPMF6.js} +11 -11
- package/dist/chunk-KFBOPMF6.js.map +1 -0
- package/dist/{chunk-HOIRB77A.js → chunk-L6Z5OAS4.js} +2 -2
- package/dist/{chunk-7RZJWZ46.js → chunk-LEPOP46W.js} +5 -5
- package/dist/{chunk-QQXWFDRD.js → chunk-M4YHAODQ.js} +270 -684
- package/dist/chunk-M4YHAODQ.js.map +1 -0
- package/dist/{chunk-NGT35IGQ.js → chunk-MIH3CJPN.js} +3 -3
- package/dist/{chunk-QPAQSG3F.js → chunk-MK5VEWCR.js} +2 -2
- package/dist/chunk-NISZQW72.js +140 -0
- package/dist/chunk-NISZQW72.js.map +1 -0
- package/dist/{chunk-L7RTUEDG.js → chunk-OCIP6YMD.js} +2 -2
- package/dist/{chunk-2INWPC6E.js → chunk-PG4QBPVG.js} +20 -10
- package/dist/chunk-PG4QBPVG.js.map +1 -0
- package/dist/{chunk-DDA55IVB.js → chunk-PT54WISF.js} +189 -55
- package/dist/chunk-PT54WISF.js.map +1 -0
- package/dist/{chunk-UWJNKGBA.js → chunk-QZLDRQ4I.js} +5 -5
- package/dist/{chunk-UYOXFFEY.js → chunk-RUNORG2P.js} +3 -3
- package/dist/{chunk-LC3FD4BV.js → chunk-RZQ6W2W4.js} +39 -39
- package/dist/{chunk-MRGJZ75M.js → chunk-SMNYAMJD.js} +3 -3
- package/dist/{chunk-MKQBXQKU.js → chunk-TB6CBZ5V.js} +22 -15
- package/dist/chunk-TB6CBZ5V.js.map +1 -0
- package/dist/{chunk-DN2IDKI5.js → chunk-TO7ZTWJW.js} +2 -2
- package/dist/{chunk-K2TDK7GG.js → chunk-TWTUGCTY.js} +2 -2
- package/dist/{chunk-CUTFSLSD.js → chunk-UCTS3DDH.js} +2 -2
- package/dist/{chunk-JYIJNNN3.js → chunk-UG6VXIOK.js} +2 -2
- package/dist/{chunk-QOQQMVR2.js → chunk-UKYS3NU5.js} +2 -2
- package/dist/{chunk-VZRFGJCH.js → chunk-UPLZNJKN.js} +2 -2
- package/dist/{chunk-C23BYTJV.js → chunk-UW5NPZJ2.js} +40 -12
- package/dist/chunk-UW5NPZJ2.js.map +1 -0
- package/dist/{chunk-DOOWFDWN.js → chunk-V6ERBR7U.js} +2 -2
- package/dist/{chunk-7HG7MGAP.js → chunk-W5ZKPI34.js} +462 -2673
- package/dist/chunk-W5ZKPI34.js.map +1 -0
- package/dist/{chunk-HNDIND7P.js → chunk-XX4HPFFM.js} +54 -15
- package/dist/chunk-XX4HPFFM.js.map +1 -0
- package/dist/{chunk-N7CXQ5TA.js → chunk-XZHE2DEN.js} +1 -1
- package/dist/chunk-YXQEKCZM.js +223 -0
- package/dist/chunk-YXQEKCZM.js.map +1 -0
- package/dist/{chunk-6NNNURLK.js → chunk-Z54EM5YZ.js} +4 -4
- package/dist/{chunk-F2Y6I74C.js → chunk-ZRZVLB7O.js} +2 -2
- package/dist/{chunk-CLKBV3Z3.js → chunk-ZUKIUXHQ.js} +9 -9
- package/dist/{cli-jfuZXixq.d.ts → cli-BPDUXnAl.d.ts} +5 -5
- package/dist/cli.d.ts +22 -22
- package/dist/cli.js +66 -58
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +14 -14
- package/dist/compounding/preference-consolidator.d.ts +1 -1
- package/dist/compression-optimizer.d.ts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +2 -1
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +14 -14
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +14 -14
- package/dist/consolidation-provenance-check.d.ts +2 -2
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/contradiction/index.d.ts +2 -2
- package/dist/contradiction/index.js +2 -2
- package/dist/{contradiction-scan-KCADHXPE.js → contradiction-scan-JDTBXRGW.js} +3 -3
- package/dist/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +16 -16
- package/dist/conversation-index/backend.d.ts +1 -1
- package/dist/conversation-index/backend.js +2 -2
- package/dist/conversation-index/chunker.d.ts +1 -1
- package/dist/conversation-index/faiss-adapter.d.ts +1 -1
- package/dist/conversation-index/indexer.d.ts +1 -1
- package/dist/conversation-index/search.d.ts +1 -1
- package/dist/corpus-watermark.d.ts +1 -1
- package/dist/corpus-watermark.js +16 -16
- package/dist/day-summary.d.ts +1 -1
- package/dist/delinearize.d.ts +1 -1
- package/dist/dependency-propagation-config.d.ts +1 -1
- package/dist/{dependency-propagation-delivery-CTDuAVJc.d.ts → dependency-propagation-delivery-CzEfB31P.d.ts} +1 -1
- package/dist/direct-answer-wiring.d.ts +1 -1
- package/dist/direct-answer.d.ts +1 -1
- package/dist/embedding-fallback.d.ts +1 -1
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +2 -2
- package/dist/entity-retrieval.js +14 -14
- package/dist/entity-schema.d.ts +1 -1
- package/dist/explicit-capture.d.ts +9 -9
- package/dist/explicit-capture.js +4 -3
- package/dist/external-wiki-access.d.ts +22 -22
- package/dist/external-wiki-access.js +33 -30
- package/dist/external-wiki-collection-registration.d.ts +1 -1
- package/dist/external-wiki-collection.d.ts +1 -1
- package/dist/external-wiki-mcp-tools.d.ts +22 -22
- package/dist/extraction-error-classification.d.ts +1 -1
- package/dist/extraction-faithfulness.d.ts +1 -1
- package/dist/extraction-faithfulness.js +2 -2
- package/dist/extraction-judge-telemetry.d.ts +1 -1
- package/dist/extraction-judge-training.d.ts +1 -1
- package/dist/extraction-judge.d.ts +1 -1
- package/dist/extraction-judge.js +2 -2
- package/dist/extraction-liveness.d.ts +1 -1
- package/dist/extraction-normalization.d.ts +1 -1
- package/dist/extraction-prompt.d.ts +1 -1
- package/dist/extraction-source-grounding-rules.d.ts +1 -1
- package/dist/extraction-source-grounding.d.ts +1 -1
- package/dist/extraction.d.ts +1 -1
- package/dist/extraction.js +20 -20
- package/dist/fallback-llm.d.ts +14 -1
- package/dist/fallback-llm.js +1 -1
- package/dist/{first-start-migration-LMMZFLKK.js → first-start-migration-CRZCZAJN.js} +5 -5
- package/dist/graph-dashboard-diff.d.ts +1 -1
- package/dist/graph-dashboard-key.d.ts +1 -1
- package/dist/graph-dashboard-parser.d.ts +1 -1
- package/dist/graph-edge-reinforcement.d.ts +1 -1
- package/dist/graph-path-reconstruction.d.ts +1 -1
- package/dist/graph-path-scoring.d.ts +1 -1
- package/dist/graph-snapshot.d.ts +1 -1
- package/dist/graph.d.ts +1 -1
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/importance.d.ts +1 -1
- package/dist/importers/index.d.ts +1 -1
- package/dist/in-flight-reads.d.ts +1 -1
- package/dist/index.d.ts +30 -747
- package/dist/index.js +203 -118
- package/dist/inline-script.d.ts +3 -0
- package/dist/inline-script.js +8 -0
- package/dist/inline-script.js.map +1 -0
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +2 -2
- package/dist/lcm/tools.d.ts +1 -1
- package/dist/lifecycle.d.ts +1 -1
- package/dist/live-connectors-runner.d.ts +1 -1
- package/dist/local-llm.d.ts +2 -1
- package/dist/local-llm.js +2 -2
- package/dist/local-model-endpoint.d.ts +1 -1
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +14 -14
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +14 -14
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +15 -15
- package/dist/{maintenance-heMZSq7G.d.ts → maintenance-C8aRWfhq.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +22 -22
- package/dist/mcp-read-only-tools.js +1 -1
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-cache.d.ts +1 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/memory-provenance.d.ts +1 -1
- package/dist/memory-snapshot.d.ts +1 -1
- package/dist/memory-worth-outcomes.d.ts +2 -2
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +3 -3
- package/dist/namespaces/migrate.js +15 -15
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +6 -6
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +14 -14
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/offline-sync-impression-drain.d.ts +1 -1
- package/dist/operator-doctor-corpus.d.ts +1 -1
- package/dist/operator-doctor-corpus.js +17 -17
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +23 -22
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +19 -19
- package/dist/{orchestrator-BQQPsSjs.d.ts → orchestrator-D85CzDDY.d.ts} +8 -8
- package/dist/orchestrator.d.ts +9 -9
- package/dist/orchestrator.js +86 -80
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-DFfmsnGk.d.ts → pipeline-DPcUifCO.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/proactive-contention.d.ts +1 -1
- package/dist/provenance.d.ts +1 -1
- package/dist/public-http-D3GBeII4.d.ts +25 -0
- package/dist/{qmd-BF5bcVRs.d.ts → qmd-dFCHp1r0.d.ts} +1 -1
- package/dist/qmd-preflight.d.ts +2 -2
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +2 -2
- package/dist/recall-concurrency-config.d.ts +1 -1
- package/dist/recall-disclosure-escalation.d.ts +1 -1
- package/dist/recall-explain-renderer.d.ts +1 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +1 -1
- package/dist/recall-planner-llm.d.ts +1 -1
- package/dist/recall-planner-llm.js +1 -1
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-timings.d.ts +1 -1
- package/dist/recall-xray-cli.d.ts +1 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +1 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +1 -1
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/cursor.d.ts +1 -1
- package/dist/reconcile/manifest.d.ts +1 -1
- package/dist/reconcile/plan.d.ts +1 -1
- package/dist/replay/normalizers/chatgpt.d.ts +1 -1
- package/dist/replay/normalizers/claude.d.ts +1 -1
- package/dist/replay/normalizers/openclaw.d.ts +1 -1
- package/dist/replay/normalizers/shared.d.ts +1 -1
- package/dist/replay/runner.d.ts +1 -1
- package/dist/replay/types.d.ts +1 -1
- package/dist/replica-divergence.d.ts +1 -1
- package/dist/replica-peers-config.d.ts +1 -1
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +3 -2
- package/dist/retrieval-agents.d.ts +2 -2
- package/dist/retrieval-tiers.d.ts +1 -1
- package/dist/routing/engine.d.ts +1 -1
- package/dist/routing/store.d.ts +1 -1
- package/dist/salvage-envelope.d.ts +1 -1
- package/dist/{scope-profiles-CbUOsE_E.d.ts → scope-profiles-DICK7GtN.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +5 -5
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +9 -9
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/port.d.ts +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/{semantic-consolidation-DAB3xdKM.d.ts → semantic-consolidation-BP7NAX0N.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +15 -15
- package/dist/semantic-rule-promotion.js +14 -14
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +14 -14
- package/dist/{service-DGKg2O6r.d.ts → service-DT-pJyda.d.ts} +660 -660
- package/dist/session-observer-bands.d.ts +1 -1
- package/dist/session-observer-state.d.ts +1 -1
- package/dist/shared-context/manager.d.ts +1 -1
- package/dist/signal.d.ts +1 -1
- package/dist/source-agent-qualifier.d.ts +1 -1
- package/dist/source-agent-qualifier.js +16 -16
- package/dist/{storage-CC1jKcWg.d.ts → storage-qOnaJ1Lw.d.ts} +4 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +13 -13
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +5 -5
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/support-passport/index.d.ts +518 -0
- package/dist/support-passport/index.js +357 -0
- package/dist/support-passport/index.js.map +1 -0
- package/dist/temporal-supersession.d.ts +2 -2
- package/dist/temporal-timeline-recall.d.ts +1 -1
- package/dist/temporal-validity.d.ts +1 -1
- package/dist/threading.d.ts +1 -1
- package/dist/tier-migration.d.ts +2 -2
- package/dist/tier-routing.d.ts +1 -1
- package/dist/tier-routing.js +2 -2
- package/dist/{tier-stats-JDN6HRNT.js → tier-stats-EXYSKSVN.js} +3 -3
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/autodetect.js +1 -1
- package/dist/transfer/backup.js +1 -1
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/types.d.ts +24 -24
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-BnQza1y8.d.ts → types-ed-SvS2t.d.ts} +7 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +14 -14
- package/dist/write-envelope.d.ts +1 -1
- package/dist/write-rate-limiter.d.ts +11 -5
- package/dist/write-rate-limiter.js +1 -1
- package/package.json +12 -2
- package/scripts/build-with-heap.mjs +11 -1
- package/src/access-authorization-probe.ts +20 -2
- package/src/access-boundary.ts +32 -0
- package/src/access-http.test.ts +1940 -643
- package/src/access-http.ts +81 -74
- package/src/access-mcp.ts +3 -1
- package/src/access-operations.ts +2 -0
- package/src/access-service.ts +612 -845
- package/src/access-surface-catalog.test.ts +40 -10
- package/src/access-surface-catalog.ts +15 -0
- package/src/active-memory-bridge.ts +17 -19
- package/src/config.ts +18 -9
- package/src/fallback-llm.test.ts +54 -0
- package/src/fallback-llm.ts +54 -9
- package/src/inline-script.ts +6 -0
- package/src/local-llm-headers-timeout.test.ts +42 -0
- package/src/local-llm.ts +8 -8
- package/src/mcp-read-only-tools.ts +3 -0
- package/src/relay/mission-access.test.ts +11 -11
- package/src/relay/mission-ui.test.ts +3 -1
- package/src/storage/tombstone-blocked-capture-sync.ts +31 -0
- package/src/storage-contract/failure-semantics.test.ts +102 -0
- package/src/support-passport/access-http-base.ts +143 -0
- package/src/support-passport/access-http.ts +172 -0
- package/src/support-passport/access-operations.ts +272 -0
- package/src/support-passport/access-service-base.test.ts +193 -0
- package/src/support-passport/access-service-base.ts +176 -0
- package/src/support-passport/access-surface.test.ts +283 -0
- package/src/support-passport/access-surface.ts +286 -0
- package/src/support-passport/card-projection.test.ts +8 -0
- package/src/support-passport/card-projection.ts +77 -16
- package/src/support-passport/card-replacement.ts +126 -0
- package/src/support-passport/card-service-commit-forwarding.test.ts +160 -0
- package/src/support-passport/card-service.test.ts +533 -31
- package/src/support-passport/card-service.ts +506 -364
- package/src/support-passport/card-state.ts +158 -0
- package/src/support-passport/config-model-routing.test.ts +37 -0
- package/src/support-passport/config.test.ts +34 -0
- package/src/support-passport/config.ts +41 -0
- package/src/support-passport/contracts.test.ts +15 -2
- package/src/support-passport/contracts.ts +13 -0
- package/src/support-passport/errors.ts +6 -0
- package/src/support-passport/generated-batch.test.ts +185 -0
- package/src/support-passport/generated-batch.ts +338 -0
- package/src/support-passport/grant-contracts.ts +45 -1
- package/src/support-passport/grant-generated-batch-scope.test.ts +201 -0
- package/src/support-passport/grant-service-cache.test.ts +2 -2
- package/src/support-passport/grant-service-cancellation.test.ts +2 -0
- package/src/support-passport/grant-service-marker-cache.test.ts +62 -0
- package/src/support-passport/grant-service.test.ts +853 -239
- package/src/support-passport/grant-service.ts +206 -57
- package/src/support-passport/grant-store.ts +7 -3
- package/src/support-passport/index.ts +10 -0
- package/src/support-passport/mcp-tools.test.ts +222 -0
- package/src/support-passport/mcp-tools.ts +187 -0
- package/src/support-passport/model-adapter.test.ts +840 -0
- package/src/support-passport/model-adapter.ts +602 -0
- package/src/support-passport/model-audit-pinned-write.test.ts +59 -0
- package/src/support-passport/model-audit.ts +152 -0
- package/src/support-passport/model-bridge.test.ts +456 -0
- package/src/support-passport/model-bridge.ts +439 -0
- package/src/support-passport/model-contracts.ts +124 -0
- package/src/support-passport/model-service.test.ts +1731 -0
- package/src/support-passport/model-service.ts +399 -0
- package/src/support-passport/owner-http.test.ts +671 -0
- package/src/support-passport/owner-lock.ts +26 -9
- package/src/support-passport/private-file.test.ts +99 -0
- package/src/support-passport/private-file.ts +139 -12
- package/src/support-passport/public-http.test.ts +476 -0
- package/src/support-passport/public-http.ts +601 -0
- package/src/support-passport/ui.test.ts +181 -0
- package/src/types.ts +7 -0
- package/src/write-rate-limiter.test.ts +30 -6
- package/src/write-rate-limiter.ts +29 -18
- package/dist/chunk-2INWPC6E.js.map +0 -1
- package/dist/chunk-2PNXOQ4P.js.map +0 -1
- package/dist/chunk-3SXLD5T3.js.map +0 -1
- package/dist/chunk-3WGI7F4V.js.map +0 -1
- package/dist/chunk-7HG7MGAP.js.map +0 -1
- package/dist/chunk-BIF4SHMD.js.map +0 -1
- package/dist/chunk-C23BYTJV.js.map +0 -1
- package/dist/chunk-CSY44OKU.js.map +0 -1
- package/dist/chunk-DDA55IVB.js.map +0 -1
- package/dist/chunk-HNDIND7P.js.map +0 -1
- package/dist/chunk-L6CQ7WIW.js.map +0 -1
- package/dist/chunk-MKQBXQKU.js.map +0 -1
- package/dist/chunk-QQXWFDRD.js.map +0 -1
- package/dist/chunk-QTO6BMQZ.js.map +0 -1
- package/dist/chunk-WZWZRZ2V.js.map +0 -1
- /package/dist/{auto-sync-TDHLZPVP.js.map → auto-sync-NR3GPCOA.js.map} +0 -0
- /package/dist/{chunk-LLJMAULE.js.map → chunk-2FKEIPIT.js.map} +0 -0
- /package/dist/{chunk-AU7Q3LSC.js.map → chunk-2QSZNTDO.js.map} +0 -0
- /package/dist/{chunk-TKFGFDPJ.js.map → chunk-3TIZPSJC.js.map} +0 -0
- /package/dist/{chunk-B4T3FQMT.js.map → chunk-43SEBY2M.js.map} +0 -0
- /package/dist/{chunk-LVKYLMSM.js.map → chunk-46SZBVDS.js.map} +0 -0
- /package/dist/{chunk-YKZLOPTC.js.map → chunk-5FD7JMTX.js.map} +0 -0
- /package/dist/{chunk-WM5LD6AT.js.map → chunk-6CYHUWCO.js.map} +0 -0
- /package/dist/{chunk-YR65W7BV.js.map → chunk-BRR5EUTF.js.map} +0 -0
- /package/dist/{chunk-JKW663ZN.js.map → chunk-CIAI24TQ.js.map} +0 -0
- /package/dist/{chunk-YDWPYDML.js.map → chunk-EKTP7MNS.js.map} +0 -0
- /package/dist/{chunk-6LEIWWAF.js.map → chunk-F2JRDPON.js.map} +0 -0
- /package/dist/{chunk-VYQ4URQB.js.map → chunk-FFRTNF3L.js.map} +0 -0
- /package/dist/{chunk-TY6MKIWP.js.map → chunk-FONWBCVY.js.map} +0 -0
- /package/dist/{chunk-XSV2YDCJ.js.map → chunk-FPLM2TKD.js.map} +0 -0
- /package/dist/{chunk-VTU5IEKY.js.map → chunk-FTPONF6B.js.map} +0 -0
- /package/dist/{chunk-6PZGKGAO.js.map → chunk-FWX7W5PM.js.map} +0 -0
- /package/dist/{chunk-QPW3PAIH.js.map → chunk-G6DFSS6A.js.map} +0 -0
- /package/dist/{chunk-2DD6ZHOM.js.map → chunk-GJ776BC2.js.map} +0 -0
- /package/dist/{chunk-XKAR4RF6.js.map → chunk-GN3WRFJY.js.map} +0 -0
- /package/dist/{chunk-RG426DJO.js.map → chunk-H7NAZ3UB.js.map} +0 -0
- /package/dist/{chunk-BSXGTDVJ.js.map → chunk-HBUFQRIM.js.map} +0 -0
- /package/dist/{chunk-FFEBSFVT.js.map → chunk-HGJ6NJ4E.js.map} +0 -0
- /package/dist/{chunk-5JKUSBMX.js.map → chunk-IKP5OYQQ.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-IPLYGWQF.js.map} +0 -0
- /package/dist/{chunk-DBY26JJJ.js.map → chunk-IQ4NVWEF.js.map} +0 -0
- /package/dist/{chunk-7Q7JWLQ4.js.map → chunk-JYG4OLWH.js.map} +0 -0
- /package/dist/{chunk-3OTSVCPK.js.map → chunk-K26NWEOC.js.map} +0 -0
- /package/dist/{chunk-HOIRB77A.js.map → chunk-L6Z5OAS4.js.map} +0 -0
- /package/dist/{chunk-7RZJWZ46.js.map → chunk-LEPOP46W.js.map} +0 -0
- /package/dist/{chunk-NGT35IGQ.js.map → chunk-MIH3CJPN.js.map} +0 -0
- /package/dist/{chunk-QPAQSG3F.js.map → chunk-MK5VEWCR.js.map} +0 -0
- /package/dist/{chunk-L7RTUEDG.js.map → chunk-OCIP6YMD.js.map} +0 -0
- /package/dist/{chunk-UWJNKGBA.js.map → chunk-QZLDRQ4I.js.map} +0 -0
- /package/dist/{chunk-UYOXFFEY.js.map → chunk-RUNORG2P.js.map} +0 -0
- /package/dist/{chunk-LC3FD4BV.js.map → chunk-RZQ6W2W4.js.map} +0 -0
- /package/dist/{chunk-MRGJZ75M.js.map → chunk-SMNYAMJD.js.map} +0 -0
- /package/dist/{chunk-DN2IDKI5.js.map → chunk-TO7ZTWJW.js.map} +0 -0
- /package/dist/{chunk-K2TDK7GG.js.map → chunk-TWTUGCTY.js.map} +0 -0
- /package/dist/{chunk-CUTFSLSD.js.map → chunk-UCTS3DDH.js.map} +0 -0
- /package/dist/{chunk-JYIJNNN3.js.map → chunk-UG6VXIOK.js.map} +0 -0
- /package/dist/{chunk-QOQQMVR2.js.map → chunk-UKYS3NU5.js.map} +0 -0
- /package/dist/{chunk-VZRFGJCH.js.map → chunk-UPLZNJKN.js.map} +0 -0
- /package/dist/{chunk-DOOWFDWN.js.map → chunk-V6ERBR7U.js.map} +0 -0
- /package/dist/{chunk-N7CXQ5TA.js.map → chunk-XZHE2DEN.js.map} +0 -0
- /package/dist/{chunk-6NNNURLK.js.map → chunk-Z54EM5YZ.js.map} +0 -0
- /package/dist/{chunk-F2Y6I74C.js.map → chunk-ZRZVLB7O.js.map} +0 -0
- /package/dist/{chunk-CLKBV3Z3.js.map → chunk-ZUKIUXHQ.js.map} +0 -0
- /package/dist/{contradiction-scan-KCADHXPE.js.map → contradiction-scan-JDTBXRGW.js.map} +0 -0
- /package/dist/{first-start-migration-LMMZFLKK.js.map → first-start-migration-CRZCZAJN.js.map} +0 -0
- /package/dist/{tier-stats-JDN6HRNT.js.map → tier-stats-EXYSKSVN.js.map} +0 -0
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<meta name="color-scheme" content="light">
|
|
7
|
+
<meta name="description" content="What Helps Me is an owner-controlled support passport built with Remnic.">
|
|
8
|
+
<script>
|
|
9
|
+
(() => {
|
|
10
|
+
const fragmentKey = "__REMNIC_WHAT_HELPS_ME_FRAGMENT__";
|
|
11
|
+
const ownerTokenKey = ["__REMNIC", "ADMIN_CONSOLE", "PREFILL_TOKEN__"].join("_");
|
|
12
|
+
let fragment = window.location.hash;
|
|
13
|
+
if (!new URLSearchParams(fragment.slice(1)).has("secret")) return;
|
|
14
|
+
window.history.replaceState(null, "", `${window.location.pathname}${window.location.search}`);
|
|
15
|
+
const clearFragment = () => {
|
|
16
|
+
fragment = "";
|
|
17
|
+
try {
|
|
18
|
+
delete window[fragmentKey];
|
|
19
|
+
} catch {
|
|
20
|
+
window[fragmentKey] = "";
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(window, fragmentKey, {
|
|
24
|
+
configurable: true,
|
|
25
|
+
get() {
|
|
26
|
+
const value = fragment;
|
|
27
|
+
clearFragment();
|
|
28
|
+
return value;
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
const clearOwnerPrefill = () => {
|
|
32
|
+
try {
|
|
33
|
+
delete window[ownerTokenKey];
|
|
34
|
+
} catch {
|
|
35
|
+
window[ownerTokenKey] = "";
|
|
36
|
+
}
|
|
37
|
+
for (const script of document.scripts) {
|
|
38
|
+
if (script.src || !script.textContent?.includes(ownerTokenKey)) continue;
|
|
39
|
+
script.textContent = "";
|
|
40
|
+
script.remove();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const observer = new MutationObserver(clearOwnerPrefill);
|
|
44
|
+
observer.observe(document.documentElement, { childList: true, subtree: true });
|
|
45
|
+
document.addEventListener(
|
|
46
|
+
"DOMContentLoaded",
|
|
47
|
+
() => {
|
|
48
|
+
clearOwnerPrefill();
|
|
49
|
+
observer.disconnect();
|
|
50
|
+
},
|
|
51
|
+
{ once: true }
|
|
52
|
+
);
|
|
53
|
+
window.addEventListener("pagehide", clearFragment, { once: true });
|
|
54
|
+
window.addEventListener("beforeunload", clearFragment, { once: true });
|
|
55
|
+
})();
|
|
56
|
+
</script>
|
|
57
|
+
<link rel="icon" href="data:,">
|
|
58
|
+
<title>What Helps Me · Remnic</title>
|
|
59
|
+
<link rel="stylesheet" href="./what-helps-me.css">
|
|
60
|
+
</head>
|
|
61
|
+
<body>
|
|
62
|
+
<a class="skip-link" href="#mainContent">Skip to the support passport</a>
|
|
63
|
+
|
|
64
|
+
<div class="replay-banner" id="replayBanner" role="status" hidden>
|
|
65
|
+
<strong>Synthetic replay</strong>
|
|
66
|
+
<span>This mode uses invented notes. It is not live proof.</span>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<header class="site-header">
|
|
70
|
+
<div class="wordmark">
|
|
71
|
+
<span class="wordmark-mark" aria-hidden="true">W</span>
|
|
72
|
+
<span><strong>WHAT HELPS ME</strong><small>A Remnic support passport</small></span>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="view-marker" id="viewMarker" aria-label="Current view">
|
|
75
|
+
<span class="view-marker-dot" aria-hidden="true"></span>
|
|
76
|
+
<span id="viewMarkerText">Owner view</span>
|
|
77
|
+
</div>
|
|
78
|
+
</header>
|
|
79
|
+
|
|
80
|
+
<main id="mainContent" tabindex="-1">
|
|
81
|
+
<section class="connect-panel" id="connectPanel" aria-labelledby="connectTitle">
|
|
82
|
+
<div>
|
|
83
|
+
<p class="eyebrow">Private owner access</p>
|
|
84
|
+
<h1 id="connectTitle">Open my support passport</h1>
|
|
85
|
+
<p>Use the same bearer token as the Remnic admin console.</p>
|
|
86
|
+
</div>
|
|
87
|
+
<form class="connect-form" id="connectForm">
|
|
88
|
+
<label for="tokenInput">Bearer token</label>
|
|
89
|
+
<div class="input-action">
|
|
90
|
+
<input id="tokenInput" type="password" autocomplete="off" required placeholder="Kept only in this page's memory">
|
|
91
|
+
<button class="button button-primary" type="submit">Open my guide</button>
|
|
92
|
+
</div>
|
|
93
|
+
<p class="field-note">The page does not save the token in cookies or browser storage.</p>
|
|
94
|
+
<p class="form-error" id="connectError" role="alert"></p>
|
|
95
|
+
</form>
|
|
96
|
+
</section>
|
|
97
|
+
|
|
98
|
+
<div id="ownerView" hidden>
|
|
99
|
+
<section class="owner-hero" aria-labelledby="ownerTitle">
|
|
100
|
+
<div class="owner-hero-copy">
|
|
101
|
+
<p class="eyebrow">My support passport</p>
|
|
102
|
+
<h1 id="ownerTitle">The person is the author.</h1>
|
|
103
|
+
<p class="hero-lede">Turn selected notes into clear support cards. Approve every word before sharing anything.</p>
|
|
104
|
+
<nav class="journey" aria-label="Guide steps">
|
|
105
|
+
<a href="#selectNotes"><span>1</span>Select notes</a>
|
|
106
|
+
<a href="#reviewCards"><span>2</span>Review cards</a>
|
|
107
|
+
<a href="#shareGuide"><span>3</span>Share my guide</a>
|
|
108
|
+
</nav>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="passport-seal" aria-label="Owner controlled">
|
|
111
|
+
<span class="seal-orbit" aria-hidden="true"></span>
|
|
112
|
+
<strong>MY WORDS</strong>
|
|
113
|
+
<small>MY CHOICE</small>
|
|
114
|
+
</div>
|
|
115
|
+
</section>
|
|
116
|
+
|
|
117
|
+
<div class="owner-layout">
|
|
118
|
+
<div class="owner-build">
|
|
119
|
+
<section class="folio-section" id="selectNotes" aria-labelledby="notesTitle">
|
|
120
|
+
<div class="section-heading">
|
|
121
|
+
<div>
|
|
122
|
+
<p class="step-label">Step 1 · Select notes</p>
|
|
123
|
+
<h2 id="notesTitle">Choose only the notes you want to send</h2>
|
|
124
|
+
</div>
|
|
125
|
+
<span class="count-badge" id="noteCount">0 selected</span>
|
|
126
|
+
</div>
|
|
127
|
+
<p class="section-lede">Add exact Remnic memory IDs. The page shows each full note before you consent.</p>
|
|
128
|
+
|
|
129
|
+
<form class="memory-picker" id="memoryForm">
|
|
130
|
+
<label for="memoryIdInput">Memory ID</label>
|
|
131
|
+
<div class="input-action">
|
|
132
|
+
<input id="memoryIdInput" name="memoryId" required maxlength="512" placeholder="memory-id">
|
|
133
|
+
<button class="button button-secondary" type="submit">Add selected note</button>
|
|
134
|
+
</div>
|
|
135
|
+
<p class="form-error" id="memoryError" role="alert"></p>
|
|
136
|
+
</form>
|
|
137
|
+
|
|
138
|
+
<div class="empty-state" id="notesEmpty">
|
|
139
|
+
<span aria-hidden="true">+</span>
|
|
140
|
+
<p><strong>No notes selected.</strong> Add one exact memory ID to start.</p>
|
|
141
|
+
</div>
|
|
142
|
+
<ul class="note-list" id="noteList" aria-label="Selected notes"></ul>
|
|
143
|
+
|
|
144
|
+
<div class="consent-panel">
|
|
145
|
+
<label class="check-row" for="consentInput">
|
|
146
|
+
<input id="consentInput" type="checkbox">
|
|
147
|
+
<span>Send these selected notes to my configured model to draft my cards.</span>
|
|
148
|
+
</label>
|
|
149
|
+
<p>The model gets only these selected notes. You must review every draft.</p>
|
|
150
|
+
<button class="button button-primary" id="generateButton" type="button">Draft my support cards</button>
|
|
151
|
+
<p class="form-error" id="generateError" role="alert"></p>
|
|
152
|
+
</div>
|
|
153
|
+
</section>
|
|
154
|
+
|
|
155
|
+
<section class="folio-section" id="reviewCards" aria-labelledby="cardsTitle">
|
|
156
|
+
<div class="section-heading">
|
|
157
|
+
<div>
|
|
158
|
+
<p class="step-label">Step 2 · Review cards</p>
|
|
159
|
+
<h2 id="cardsTitle">Approve each card yourself</h2>
|
|
160
|
+
</div>
|
|
161
|
+
<button class="button button-secondary" id="newCardButton" type="button">Write a card</button>
|
|
162
|
+
</div>
|
|
163
|
+
<p class="section-lede">A draft stays private. An approved card can be selected for a share link.</p>
|
|
164
|
+
<div class="summary-strip" aria-label="Support card totals">
|
|
165
|
+
<span><strong id="draftCount">0</strong> Draft</span>
|
|
166
|
+
<span><strong id="approvedCount">0</strong> Approved</span>
|
|
167
|
+
</div>
|
|
168
|
+
<div class="empty-state" id="cardsEmpty">
|
|
169
|
+
<span aria-hidden="true">✦</span>
|
|
170
|
+
<p><strong>No support cards yet.</strong> Draft from selected notes or write one yourself.</p>
|
|
171
|
+
</div>
|
|
172
|
+
<div class="card-list" id="cardList" aria-live="polite"></div>
|
|
173
|
+
</section>
|
|
174
|
+
</div>
|
|
175
|
+
|
|
176
|
+
<aside class="share-column" id="shareGuide" aria-labelledby="shareTitle">
|
|
177
|
+
<section class="share-panel">
|
|
178
|
+
<p class="step-label">Step 3 · Share my guide</p>
|
|
179
|
+
<h2 id="shareTitle">Choose what a helper can see</h2>
|
|
180
|
+
<p>Each link holds exact approved card versions. It ends on time or when you stop sharing.</p>
|
|
181
|
+
|
|
182
|
+
<form id="shareForm">
|
|
183
|
+
<fieldset class="card-picker">
|
|
184
|
+
<legend>Approved support cards</legend>
|
|
185
|
+
<div id="shareCardList"></div>
|
|
186
|
+
<p class="field-note" id="shareCardsEmpty">Approve a card before you create a share link.</p>
|
|
187
|
+
</fieldset>
|
|
188
|
+
|
|
189
|
+
<fieldset class="duration-picker">
|
|
190
|
+
<legend>Share for</legend>
|
|
191
|
+
<div class="segmented-control">
|
|
192
|
+
<label><input type="radio" name="duration" value="30m"><span>30 min</span></label>
|
|
193
|
+
<label><input type="radio" name="duration" value="2h" checked><span>2 hours</span></label>
|
|
194
|
+
<label><input type="radio" name="duration" value="1d"><span>1 day</span></label>
|
|
195
|
+
<label><input type="radio" name="duration" value="custom"><span>Custom</span></label>
|
|
196
|
+
</div>
|
|
197
|
+
<label class="custom-time" id="customTimeField" for="customTimeInput" hidden>
|
|
198
|
+
End sharing at
|
|
199
|
+
<input id="customTimeInput" type="datetime-local">
|
|
200
|
+
</label>
|
|
201
|
+
</fieldset>
|
|
202
|
+
|
|
203
|
+
<button class="button button-primary button-full" type="submit">Create share link</button>
|
|
204
|
+
<p class="form-error" id="shareError" role="alert"></p>
|
|
205
|
+
</form>
|
|
206
|
+
|
|
207
|
+
<div class="new-link" id="newLinkPanel" hidden>
|
|
208
|
+
<p class="eyebrow">Share link ready</p>
|
|
209
|
+
<label for="shareLinkInput">Copy this link once</label>
|
|
210
|
+
<textarea id="shareLinkInput" rows="4" readonly></textarea>
|
|
211
|
+
<div class="button-row">
|
|
212
|
+
<button class="button button-secondary" id="copyLinkButton" type="button">Copy link</button>
|
|
213
|
+
<a class="button button-quiet" id="openLinkButton" href="#" target="_blank" rel="noopener">Open helper view</a>
|
|
214
|
+
</div>
|
|
215
|
+
<p>The secret is not saved by Remnic. Make a new link if you lose it.</p>
|
|
216
|
+
</div>
|
|
217
|
+
</section>
|
|
218
|
+
|
|
219
|
+
<section class="live-links" aria-labelledby="liveLinksTitle">
|
|
220
|
+
<div class="section-heading compact">
|
|
221
|
+
<div><p class="step-label">Owner control</p><h2 id="liveLinksTitle">Live shares</h2></div>
|
|
222
|
+
<button class="icon-button" id="refreshButton" type="button" aria-label="Refresh cards and share links">↻</button>
|
|
223
|
+
</div>
|
|
224
|
+
<div class="empty-state compact" id="grantsEmpty"><p>No live share links.</p></div>
|
|
225
|
+
<div id="grantList" aria-live="polite"></div>
|
|
226
|
+
</section>
|
|
227
|
+
</aside>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
|
|
231
|
+
<div id="helperView" hidden>
|
|
232
|
+
<section class="helper-hero" aria-labelledby="helperTitle">
|
|
233
|
+
<div>
|
|
234
|
+
<p class="eyebrow">Support passport</p>
|
|
235
|
+
<h1 id="helperTitle">What helps me</h1>
|
|
236
|
+
<p class="hero-lede">These are the exact support cards this person chose to share.</p>
|
|
237
|
+
</div>
|
|
238
|
+
<div class="helper-time">
|
|
239
|
+
<span>Shared until</span>
|
|
240
|
+
<strong id="helperExpiry">Loading…</strong>
|
|
241
|
+
</div>
|
|
242
|
+
</section>
|
|
243
|
+
<div class="helper-layout">
|
|
244
|
+
<section class="guide-panel" aria-labelledby="guideTitle">
|
|
245
|
+
<div class="section-heading">
|
|
246
|
+
<div><p class="step-label">Approved guide</p><h2 id="guideTitle">How to help</h2></div>
|
|
247
|
+
<span class="count-badge" id="helperCardCount">0 cards</span>
|
|
248
|
+
</div>
|
|
249
|
+
<div class="helper-loading" id="helperLoading" role="status">
|
|
250
|
+
<span class="loading-pulse" aria-hidden="true"></span>
|
|
251
|
+
<p>Opening the shared guide…</p>
|
|
252
|
+
</div>
|
|
253
|
+
<div id="guideGroups"></div>
|
|
254
|
+
</section>
|
|
255
|
+
<aside class="question-panel" aria-labelledby="questionTitle">
|
|
256
|
+
<p class="step-label">Ask from this guide</p>
|
|
257
|
+
<h2 id="questionTitle">Ask one clear question</h2>
|
|
258
|
+
<p>The answer uses these shared cards only. It cites each card it uses.</p>
|
|
259
|
+
<form id="questionForm">
|
|
260
|
+
<label for="questionInput">Your question</label>
|
|
261
|
+
<textarea id="questionInput" maxlength="500" rows="4" required placeholder="What should I do if this person stops speaking?"></textarea>
|
|
262
|
+
<div class="character-count"><span id="questionCount">0</span> / 500</div>
|
|
263
|
+
<button class="button button-primary button-full" type="submit">Ask from this guide</button>
|
|
264
|
+
<p class="form-error" id="questionError" role="alert"></p>
|
|
265
|
+
</form>
|
|
266
|
+
<div class="answer-panel" id="answerPanel" tabindex="-1" hidden>
|
|
267
|
+
<p class="eyebrow">Answer from shared cards</p>
|
|
268
|
+
<p class="answer-copy" id="answerCopy"></p>
|
|
269
|
+
<div class="citation-list" id="citationList" aria-label="Support card citations"></div>
|
|
270
|
+
</div>
|
|
271
|
+
</aside>
|
|
272
|
+
</div>
|
|
273
|
+
</div>
|
|
274
|
+
|
|
275
|
+
<section class="locked-view" id="lockedView" aria-labelledby="lockedTitle" hidden>
|
|
276
|
+
<div class="lock-seal" aria-hidden="true"><span></span></div>
|
|
277
|
+
<p class="eyebrow" id="lockedEyebrow">Share link not found</p>
|
|
278
|
+
<h1 id="lockedTitle" tabindex="-1">This link does not open a support passport.</h1>
|
|
279
|
+
<p id="lockedDetail">Ask the person who shared it for a new link.</p>
|
|
280
|
+
<button class="button button-primary" id="retryHelperButton" type="button" hidden>Try again</button>
|
|
281
|
+
</section>
|
|
282
|
+
</main>
|
|
283
|
+
|
|
284
|
+
<footer class="site-footer">
|
|
285
|
+
<span>What Helps Me · Built with Remnic</span>
|
|
286
|
+
<a href="https://www.england.nhs.uk/long-read/health-and-care-passports-implementation-guidance/" target="_blank" rel="noopener noreferrer">NHS health and care passport guidance ↗</a>
|
|
287
|
+
</footer>
|
|
288
|
+
|
|
289
|
+
<dialog class="card-dialog" id="cardDialog" aria-labelledby="cardDialogTitle">
|
|
290
|
+
<form id="cardForm">
|
|
291
|
+
<button class="dialog-close" id="cardDialogClose" type="button" aria-label="Close support card editor">×</button>
|
|
292
|
+
<p class="eyebrow">Owner review</p>
|
|
293
|
+
<h2 id="cardDialogTitle">Write a support card</h2>
|
|
294
|
+
<input id="cardIdInput" type="hidden">
|
|
295
|
+
<input id="cardRevisionInput" type="hidden">
|
|
296
|
+
<label for="cardTitleInput">Card title</label>
|
|
297
|
+
<input id="cardTitleInput" maxlength="80" required>
|
|
298
|
+
<label for="cardStatementInput">What helps me</label>
|
|
299
|
+
<textarea id="cardStatementInput" maxlength="500" rows="5" required></textarea>
|
|
300
|
+
<label for="cardCategoryInput">Category</label>
|
|
301
|
+
<select id="cardCategoryInput" required>
|
|
302
|
+
<option value="communication">Communication</option>
|
|
303
|
+
<option value="environment">Environment</option>
|
|
304
|
+
<option value="transitions">Changes and transitions</option>
|
|
305
|
+
<option value="sensory">Sensory comfort</option>
|
|
306
|
+
<option value="regulation">Feeling settled</option>
|
|
307
|
+
<option value="interests">Interests and connection</option>
|
|
308
|
+
<option value="other">Other support</option>
|
|
309
|
+
</select>
|
|
310
|
+
<label for="cardReviewInput">Review reminder</label>
|
|
311
|
+
<input id="cardReviewInput" type="datetime-local" required>
|
|
312
|
+
<p class="field-note">This date is a reminder. It never hides the card automatically.</p>
|
|
313
|
+
<p class="form-error" id="cardError" role="alert"></p>
|
|
314
|
+
<div class="button-row dialog-actions">
|
|
315
|
+
<button class="button button-quiet" id="cardCancelButton" type="button">Keep reviewing</button>
|
|
316
|
+
<button class="button button-primary" id="cardSaveButton" type="submit">Save draft</button>
|
|
317
|
+
</div>
|
|
318
|
+
</form>
|
|
319
|
+
</dialog>
|
|
320
|
+
|
|
321
|
+
<div class="toast" id="toast" role="status" aria-live="polite"></div>
|
|
322
|
+
<div class="sr-only" id="announcer" role="status" aria-live="assertive"></div>
|
|
323
|
+
|
|
324
|
+
<script>
|
|
325
|
+
(() => {
|
|
326
|
+
const clearOwnerToken = () => {
|
|
327
|
+
const input = document.getElementById("tokenInput");
|
|
328
|
+
if (input instanceof HTMLInputElement) input.value = "";
|
|
329
|
+
};
|
|
330
|
+
window.addEventListener("pagehide", clearOwnerToken);
|
|
331
|
+
window.addEventListener("pageshow", (event) => {
|
|
332
|
+
if (event.persisted) clearOwnerToken();
|
|
333
|
+
});
|
|
334
|
+
})();
|
|
335
|
+
</script>
|
|
336
|
+
<script src="./model.js"></script>
|
|
337
|
+
<script src="./app.js"></script>
|
|
338
|
+
</body>
|
|
339
|
+
</html>
|