@feltdb/core 0.4.4 → 0.4.6

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.
Files changed (143) hide show
  1. package/README.md +22 -0
  2. package/bin/create-feltdb.js +3 -0
  3. package/bin/feltdb.js +3 -0
  4. package/dist/analytics-backend.js +1 -1
  5. package/dist/cli/api-client.js +236 -0
  6. package/dist/cli/cli.js +18 -0
  7. package/dist/cli/commands.js +795 -0
  8. package/dist/cli/config.js +66 -0
  9. package/dist/cli/index.js +399 -0
  10. package/dist/create/application-identity.js +132 -0
  11. package/dist/create/cli-scripts-generator.js +211 -0
  12. package/dist/create/cli.js +202 -0
  13. package/dist/create/create.js +638 -0
  14. package/dist/create/docker-compose-generator.js +258 -0
  15. package/dist/create/index.js +4 -0
  16. package/dist/create/package-versions.js +4 -0
  17. package/dist/create/runtime-templates.js +272 -0
  18. package/dist/index-backend.js +1 -1
  19. package/dist/migrate/analyzer/index.d.ts +2 -0
  20. package/dist/migrate/analyzer/index.js +34 -0
  21. package/dist/migrate/benchmark/index.d.ts +13 -0
  22. package/dist/migrate/benchmark/index.js +8 -0
  23. package/dist/migrate/capability-gate/index.d.ts +3 -0
  24. package/dist/migrate/capability-gate/index.js +3 -0
  25. package/dist/migrate/classifier/index.d.ts +3 -0
  26. package/dist/migrate/classifier/index.js +53 -0
  27. package/dist/migrate/cli/index.d.ts +2 -0
  28. package/dist/migrate/cli/index.js +201 -0
  29. package/dist/migrate/domain-model/index.d.ts +2 -0
  30. package/dist/migrate/domain-model/index.js +4 -0
  31. package/dist/migrate/generator/index.d.ts +2 -0
  32. package/dist/migrate/generator/index.js +21 -0
  33. package/dist/migrate/index.d.ts +16 -0
  34. package/dist/migrate/index.js +16 -0
  35. package/dist/migrate/measurement/index.d.ts +7 -0
  36. package/dist/migrate/measurement/index.js +1 -0
  37. package/dist/migrate/migrator/index.d.ts +2 -0
  38. package/dist/migrate/migrator/index.js +35 -0
  39. package/dist/migrate/planner/index.d.ts +2 -0
  40. package/dist/migrate/planner/index.js +12 -0
  41. package/dist/migrate/prover/index.d.ts +9 -0
  42. package/dist/migrate/prover/index.js +3 -0
  43. package/dist/migrate/reporter/index.d.ts +4 -0
  44. package/dist/migrate/reporter/index.js +1 -0
  45. package/dist/migrate/runtime-dependencies/index.d.ts +13 -0
  46. package/dist/migrate/runtime-dependencies/index.js +112 -0
  47. package/dist/migrate/state-contract/index.d.ts +13 -0
  48. package/dist/migrate/state-contract/index.js +49 -0
  49. package/dist/migrate/types/index.d.ts +228 -0
  50. package/dist/migrate/types/index.js +1 -0
  51. package/dist/migrate/ui-wiring/index.d.ts +18 -0
  52. package/dist/migrate/ui-wiring/index.js +2 -0
  53. package/dist/migrate/util.d.ts +5 -0
  54. package/dist/migrate/util.js +10 -0
  55. package/dist/react/index.d.ts +7 -0
  56. package/dist/react/index.d.ts.map +1 -0
  57. package/dist/react/index.js +6 -0
  58. package/dist/react/useCapability.d.ts +11 -0
  59. package/dist/react/useCapability.d.ts.map +1 -0
  60. package/dist/react/useCapability.js +30 -0
  61. package/dist/react/useCollection.d.ts +17 -0
  62. package/dist/react/useCollection.d.ts.map +1 -0
  63. package/dist/react/useCollection.js +69 -0
  64. package/dist/react/useFeltDB.d.ts +136 -0
  65. package/dist/react/useFeltDB.d.ts.map +1 -0
  66. package/dist/react/useFeltDB.js +350 -0
  67. package/dist/studio/.gitkeep +1 -0
  68. package/dist/studio/KeyManagementPanel-BOvWTRyH.js +246 -0
  69. package/dist/studio/app.d.ts +10 -0
  70. package/dist/studio/app.d.ts.map +1 -0
  71. package/dist/studio/components/AgentExplorer.d.ts +9 -0
  72. package/dist/studio/components/AgentExplorer.d.ts.map +1 -0
  73. package/dist/studio/components/ApplicationDesigner.d.ts +11 -0
  74. package/dist/studio/components/ApplicationDesigner.d.ts.map +1 -0
  75. package/dist/studio/components/CapabilityExplorer.d.ts +9 -0
  76. package/dist/studio/components/CapabilityExplorer.d.ts.map +1 -0
  77. package/dist/studio/components/ConflictExplorer.d.ts +9 -0
  78. package/dist/studio/components/ConflictExplorer.d.ts.map +1 -0
  79. package/dist/studio/components/ExecutionViewer.d.ts +9 -0
  80. package/dist/studio/components/ExecutionViewer.d.ts.map +1 -0
  81. package/dist/studio/components/GlobalSearch.d.ts +10 -0
  82. package/dist/studio/components/GlobalSearch.d.ts.map +1 -0
  83. package/dist/studio/components/HealthCenter.d.ts +9 -0
  84. package/dist/studio/components/HealthCenter.d.ts.map +1 -0
  85. package/dist/studio/components/KeyManagementPanel.d.ts +9 -0
  86. package/dist/studio/components/KeyManagementPanel.d.ts.map +1 -0
  87. package/dist/studio/components/KeyManagementPanel.js +2 -0
  88. package/dist/studio/components/ManagedInstancePanel.d.ts +4 -0
  89. package/dist/studio/components/ManagedInstancePanel.d.ts.map +1 -0
  90. package/dist/studio/components/ManagedInstancePanel.js +281 -0
  91. package/dist/studio/components/OperationsExplorer.d.ts +10 -0
  92. package/dist/studio/components/OperationsExplorer.d.ts.map +1 -0
  93. package/dist/studio/components/OverviewDashboard.d.ts +8 -0
  94. package/dist/studio/components/OverviewDashboard.d.ts.map +1 -0
  95. package/dist/studio/components/PeerMap.d.ts +8 -0
  96. package/dist/studio/components/PeerMap.d.ts.map +1 -0
  97. package/dist/studio/components/ProvenanceViewer.d.ts +11 -0
  98. package/dist/studio/components/ProvenanceViewer.d.ts.map +1 -0
  99. package/dist/studio/components/ReferenceExplorer.d.ts +10 -0
  100. package/dist/studio/components/ReferenceExplorer.d.ts.map +1 -0
  101. package/dist/studio/components/SettingsPanel.d.ts +7 -0
  102. package/dist/studio/components/SettingsPanel.d.ts.map +1 -0
  103. package/dist/studio/components/StateExplorer.d.ts +10 -0
  104. package/dist/studio/components/StateExplorer.d.ts.map +1 -0
  105. package/dist/studio/components/WorkflowVisualizer.d.ts +9 -0
  106. package/dist/studio/components/WorkflowVisualizer.d.ts.map +1 -0
  107. package/dist/studio/components/index.d.ts +24 -0
  108. package/dist/studio/components/index.d.ts.map +1 -0
  109. package/dist/studio/components/index.js +4 -0
  110. package/dist/studio/components-BRYUceo9.js +1711 -0
  111. package/dist/studio/hooks/index.d.ts +37 -0
  112. package/dist/studio/hooks/index.d.ts.map +1 -0
  113. package/dist/studio/index.d.ts +27 -0
  114. package/dist/studio/index.d.ts.map +1 -0
  115. package/dist/studio/index.html +30 -0
  116. package/dist/studio/index.js +236 -0
  117. package/dist/studio/main.d.ts +1 -0
  118. package/dist/studio/main.d.ts.map +1 -0
  119. package/dist/studio/studio.css +2 -0
  120. package/dist/studio/types/index.d.ts +133 -0
  121. package/dist/studio/types/index.d.ts.map +1 -0
  122. package/dist/studio/utils/api.d.ts +27 -0
  123. package/dist/studio/utils/api.d.ts.map +1 -0
  124. package/dist/studio/utils/format.d.ts +24 -0
  125. package/dist/studio/utils/format.d.ts.map +1 -0
  126. package/dist/studio/utils/index.d.ts +7 -0
  127. package/dist/studio/utils/index.d.ts.map +1 -0
  128. package/dist/studio/utils/index.js +75 -0
  129. package/dist/studio/utils/managed-instance.d.ts +40 -0
  130. package/dist/studio/utils/managed-instance.d.ts.map +1 -0
  131. package/dist/studio/utils/managed-instance.js +51 -0
  132. package/dist/studio-app/.gitkeep +1 -0
  133. package/dist/studio-app/assets/feltdb_wasm-BXMn9UxO.js +1 -0
  134. package/dist/studio-app/assets/feltdb_wasm_bg-bYYbZeRM.wasm +0 -0
  135. package/dist/studio-app/assets/index-B-lZjdtI.js +28 -0
  136. package/dist/studio-app/assets/index-CB-Eed9V.css +1 -0
  137. package/dist/studio-app/index.html +3 -0
  138. package/dist/wasm/feltdb_wasm.d.ts +461 -0
  139. package/dist/wasm/feltdb_wasm.js +1690 -0
  140. package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
  141. package/dist/wasm/feltdb_wasm_bg.wasm.d.ts +84 -0
  142. package/dist/wasm/package.json +16 -0
  143. package/package.json +40 -5
@@ -0,0 +1 @@
1
+ ._panel_1cbba_1{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem}._header_1cbba_8{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}._header_1cbba_8 h2{color:var(--text-primary);margin:0;font-size:1.5rem}._createButton_1cbba_23{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s}._createButton_1cbba_23:hover{background:var(--accent-hover)}._error_1cbba_38{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:4px;margin-bottom:1rem;padding:1rem}._createForm_1cbba_47{background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;margin-bottom:2rem;padding:1.5rem}._formGroup_1cbba_55{margin-bottom:1.5rem}._formGroup_1cbba_55 label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}._formGroup_1cbba_55 input[type=text]{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:4px;padding:.5rem;font-family:inherit}._scopeList_1cbba_76{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}._scopeCheckbox_1cbba_82{cursor:pointer;color:var(--text-primary);align-items:center;display:flex}._scopeCheckbox_1cbba_82 input{cursor:pointer;margin-right:.5rem}._submitButton_1cbba_94{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:.75rem 1.5rem;font-weight:600}._submitButton_1cbba_94:hover{background:var(--accent-hover)}._empty_1cbba_109{text-align:center;color:var(--text-secondary);background:var(--surface-alt);border-radius:4px;padding:2rem}._keysList_1cbba_117{flex-direction:column;gap:1rem;display:flex}._keyCard_1cbba_123{border:1px solid var(--border);background:var(--surface-alt);border-radius:4px;padding:1.5rem;transition:border-color .2s}._keyCard_1cbba_123:hover{border-color:var(--accent)}._keyHeader_1cbba_135{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}._keyHeader_1cbba_135 h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.1rem}._namespace_1cbba_150{color:var(--text-secondary);margin:0;font-size:.85rem}._status_1cbba_156{border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}._status_1cbba_156._active_1cbba_163{background:var(--success-bg);color:var(--success-text)}._status_1cbba_156._expired_1cbba_168{background:var(--warning-bg);color:var(--warning-text)}._keyDetails_1cbba_173{gap:1rem;margin-bottom:1rem;display:grid}._detail_1cbba_179{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}._detail_1cbba_179 strong{color:var(--text-primary)}._detail_1cbba_179 span,._detail_1cbba_179 code{color:var(--text-secondary)}._detail_1cbba_179 code{background:var(--code-bg);border-radius:3px;padding:.25rem .5rem;font-family:monospace;font-size:.9rem}._copyBtn_1cbba_203{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:.25rem .5rem;font-size:.85rem}._copyBtn_1cbba_203:hover{background:var(--accent-hover)}._daysLeft_1cbba_217{color:var(--warning-text);font-size:.85rem;font-weight:600}._scopes_1cbba_223{margin-top:.75rem}._scopeTags_1cbba_227{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}._scopeTag_1cbba_227{background:var(--tag-bg);color:var(--tag-text);border-radius:12px;padding:.25rem .75rem;font-family:monospace;font-size:.85rem}._keyActions_1cbba_243{border-top:1px solid var(--border);gap:.5rem;padding-top:1rem;display:flex}._revokeBtn_1cbba_250{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s}._revokeBtn_1cbba_250:hover{background:var(--error-hover-bg)}._info_1cbba_265{background:var(--info-bg);color:var(--text-secondary);border-radius:4px;margin-top:2rem;padding:1rem;font-size:.9rem}._info_1cbba_265 p{margin:0}:root{--surface:#fff;--surface-alt:#f5f5f5;--text-primary:#000;--text-secondary:#666;--border:#e0e0e0;--accent:#007bff;--accent-hover:#0056b3;--error-bg:#f8d7da;--error-border:#f5c6cb;--error-text:#721c24;--error-hover-bg:#f5c6cb;--success-bg:#d4edda;--success-text:#155724;--warning-bg:#fff3cd;--warning-text:#856404;--info-bg:#e2e3e5;--input-bg:#fff;--code-bg:#f4f4f4;--tag-bg:#e9ecef;--tag-text:#495057}@media (prefers-color-scheme:dark){:root{--surface:#1e1e1e;--surface-alt:#2d2d2d;--text-primary:#fff;--text-secondary:#b0b0b0;--border:#404040;--accent:#0d6efd;--accent-hover:#0a58ca;--error-bg:#3d1f1f;--error-border:#664141;--error-text:#f8b7bc;--error-hover-bg:#4a2828;--success-bg:#1f3f1f;--success-text:#7ddc7d;--warning-bg:#3f3f1f;--warning-text:#ffdd57;--info-bg:#2d2d3d;--input-bg:#2d2d2d;--code-bg:#2d2d2d;--tag-bg:#3d3d4d;--tag-text:#b0b0b0}}.studio-app{color:#333;background:#f5f5f5;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex}.studio-nav{color:#fff;background:#1a1a1a;border-right:1px solid #333;width:250px;padding:20px;overflow-y:auto}.nav-header h1{margin:0 0 30px;font-size:18px;font-weight:600}.instance-info{color:#999;border-bottom:1px solid #333;margin-top:-20px;margin-bottom:20px;padding-bottom:10px;font-size:12px}.nav-search{margin-bottom:20px}.nav-search .search-input{color:#fff;background:#2a2a2a;border:1px solid #444;border-radius:4px;width:100%;padding:8px;font-size:12px}.nav-menu{margin:0;padding:0;list-style:none}.nav-menu li{margin-bottom:8px}.nav-menu .nav-section{color:#71717a;letter-spacing:.14em;text-transform:uppercase;margin:22px 14px 7px;font-size:10px;font-weight:800}.application-designer{--ink:#17211b;--muted:#68756d;--line:#dce4de;--paper:#fbfcf9;min-height:100%;color:var(--ink)}.designer-header{justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 4px 22px;display:flex}.designer-header h1{letter-spacing:-.03em;font-family:Georgia,serif;font-size:34px}.designer-header p{color:var(--muted);margin-top:5px}.eyebrow{color:#287052;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.designer-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-ghost{color:#33443a;border:1px solid var(--line);background:#fff}.designer-actions .btn-primary{background:#1f684c}.cloud-publisher{background:#fff;border:1px solid #cbdad0;border-radius:10px;gap:14px;margin-bottom:12px;padding:18px;display:grid;box-shadow:0 10px 28px #26372d1a}.cloud-publisher-heading{justify-content:space-between;gap:18px;display:flex}.cloud-publisher-heading h2{margin-top:3px;font:600 20px/1.2 Georgia,serif}.cloud-publisher-heading p{color:var(--muted);margin-top:4px;font-size:12px}.cloud-publisher-heading>button{color:#718078;cursor:pointer;background:0 0;border:0;align-self:flex-start;font-size:22px}.cloud-fields{grid-template-columns:1.4fr .7fr 1fr;gap:10px;display:grid}.cloud-fields label{color:#65736a;letter-spacing:.07em;text-transform:uppercase;gap:5px;font-size:9px;font-weight:800;display:grid}.cloud-fields input{color:#20342a;background:#f9fbf9;border:1px solid #cbd8cf;border-radius:6px;outline:0;width:100%;padding:9px 10px;font-size:12px}.cloud-fields input:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.cloud-destructive{color:#8b4d22;align-items:center;gap:7px;font-size:11px;display:flex}.cloud-destructive input{accent-color:#a55d2b}.local-destructive{color:#8b4d22;background:#fff7ed;border:1px solid #f0d7bb;border-radius:7px;align-items:center;gap:7px;margin-bottom:12px;padding:9px 12px;font-size:11px;display:flex}.local-destructive input{accent-color:#a55d2b}.cloud-error{color:#9b2c2c;background:#fff0f0;border:1px solid #f1caca;border-radius:6px;padding:8px 10px;font-size:11px}.cloud-actions{justify-content:flex-end;gap:8px;display:flex}.cloud-actions .btn:disabled{cursor:wait;opacity:.65}.designer-status{color:#286046;background:#eaf5ee;border:1px solid #cce5d5;border-radius:8px;justify-content:space-between;margin-bottom:12px;padding:9px 13px;font-size:12px;display:flex}.designer-status.error{color:#9b2c2c;background:#fff0f0;border-color:#f1caca}.designer-grid{background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:190px minmax(420px,1fr) minmax(340px,.8fr);height:calc(100vh - 150px);min-height:620px;display:grid;overflow:hidden;box-shadow:0 12px 40px #26372d14}.model-tree,.model-canvas,.dsl-panel{min-width:0}.model-tree{border-right:1px solid var(--line);background:#f2f5f0;padding:14px;overflow:auto}.panel-title{color:#34463b;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:38px;font-size:12px;font-weight:800;display:flex}.panel-title button{color:#286046;cursor:pointer;background:#dce9df;border:0;border-radius:6px;width:25px;height:25px}.model-tree section{margin-top:16px}.model-tree section h3{color:#7a857e;letter-spacing:.12em;text-transform:uppercase;margin:0 7px 6px;font-size:10px}.tree-item,.tree-empty{border-radius:6px;padding:6px 8px;font-size:12px}.tree-item{color:#27372e;background:#ffffffb3;margin-bottom:3px}.tree-empty{color:#9aa39d;font-style:italic}.collection-editor{background:#fff;border:1px solid #d3ded6;border-radius:7px;gap:7px;margin-top:10px;padding:9px;display:grid}.collection-editor label{color:#65736a;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:800;display:grid}.collection-editor input{color:#20342a;border:1px solid #cbd8cf;border-radius:5px;outline:0;width:100%;min-width:0;padding:7px 8px;font-size:11px}.collection-editor input:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.collection-editor>div:last-child{justify-content:flex-end;gap:4px;display:flex}.collection-editor button{color:#526158;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 7px;font-size:10px}.collection-editor .collection-save{color:#fff;background:#287052}.model-canvas{background-color:#f8faf6;background-image:radial-gradient(#d8e0da 1px,#0000 1px);background-size:18px 18px;flex-direction:column;padding:14px;display:flex;overflow:hidden}.graph-legend{color:#859189;text-transform:none;letter-spacing:0;font-weight:500}.graph-board{flex:1;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:16px;padding:22px 8px;display:grid;overflow:auto}.model-node{background:#fff;border:1px solid #cfdbd2;border-top:3px solid #327258;border-radius:9px;padding:14px;position:relative;box-shadow:0 5px 14px #273d3014}.model-node.workflow-node{border-top-color:#9b6a2f}.model-node.agent-node{border-top-color:#70539b}.node-kind{color:#849087;letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:800}.model-node h3{margin:3px 0 10px;font-family:Georgia,serif;font-size:18px}.node-field,.node-step{border-top:1px solid #eef1ee;justify-content:space-between;gap:8px;padding:5px 0;font-size:11px;display:flex}.node-field code{color:#527060;font-size:10px}.node-step{color:#59675f;display:block}.node-add{color:#357257;cursor:pointer;background:#f0f7f2;border:1px dashed #b9d2c1;border-radius:5px;margin-top:9px;padding:4px 7px;font-size:10px}.field-editor{background:#f5f8f5;border:1px solid #d7e2da;border-radius:7px;gap:9px;margin-top:10px;padding:11px;display:grid}.field-editor label{color:#65736a;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.field-editor input[type=text],.field-editor input:not([type]),.field-editor select{color:#20342a;background:#fff;border:1px solid #cbd8cf;border-radius:5px;outline:0;width:100%;min-width:0;padding:7px 8px;font:11px/1.2 inherit}.field-editor input:focus,.field-editor select:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.field-editor-row{grid-template-columns:1fr 1fr;gap:7px;display:grid}.field-editor .field-optional{color:#43564a;letter-spacing:0;text-transform:none;align-items:center;gap:6px;font-size:10px;font-weight:500;display:flex}.field-optional input{accent-color:#287052}.field-error{color:#a13d3d;font-size:10px}.field-editor-actions{justify-content:flex-end;gap:6px;display:flex}.field-editor-actions button{color:#526158;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 8px;font-size:10px}.field-editor-actions .field-save{color:#fff;background:#287052}.change-strip{border-top:1px solid var(--line);white-space:nowrap;background:#ffffffeb;align-items:center;gap:12px;min-height:42px;padding:7px 10px;font-size:10px;display:flex;overflow:auto}.change-strip .added{color:#24714f}.change-strip .changed{color:#94611e}.change-strip .removed{color:#a13d3d}.dsl-panel{color:#d9e4dc;background:#17211b;border-left:1px solid #0c1510;flex-direction:column;padding:14px;display:flex}.dsl-panel .panel-title{color:#aebdb3;border-color:#344139}.dsl-panel .panel-title span:last-child{color:#6f8276;text-transform:none;font-weight:500}.dsl-panel textarea{resize:none;color:#d9e4dc;tab-size:2;background:0 0;border:0;outline:0;flex:1;width:100%;padding:15px 2px;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.diagnostics{border-top:1px solid #344139;max-height:120px;padding-top:8px;font:10px/1.5 ui-monospace,monospace;overflow:auto}.diagnostics .error{color:#ff9f9f}.diagnostics .warning{color:#f3d18a}@media (width<=1100px){.designer-grid{grid-template-columns:160px 1fr;height:auto}.dsl-panel{grid-column:1/-1;height:480px}.designer-header{flex-direction:column;align-items:flex-start}.cloud-fields{grid-template-columns:1fr}}.nav-menu a{color:#ccc;border-radius:4px;padding:10px 15px;text-decoration:none;transition:all .2s;display:block}.nav-menu a:hover{color:#fff;background:#333}.studio-content{flex:1;padding:20px;overflow-y:auto}.search-input{border:1px solid #ddd;border-radius:4px;width:100%;padding:10px;font-size:14px}.filter-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px;font-size:14px}.btn{cursor:pointer;border:none;border-radius:4px;padding:10px 15px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:#007bff}.btn-primary:hover{background:#0056b3}.overview-dashboard{background:#fff;border-radius:8px;padding:30px;box-shadow:0 1px 3px #0000001a}.dashboard-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.dashboard-header h1{margin:0;font-size:28px}.namespace-badge{color:#fff;background:#007bff;border-radius:20px;padding:5px 15px;font-size:12px;font-weight:600}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.stat-card{text-align:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.stat-card label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.stat-card .status-indicator{margin-right:5px;font-size:20px}.stat-card .status-indicator.healthy{color:#28a745}.stat-card .status-indicator.degraded{color:#ffc107}.stat-card .status-indicator.unhealthy{color:#dc3545}.stat-number{color:#007bff;font-size:24px;font-weight:700;display:block}.explorer-placeholder,.capabilities-placeholder,.executions-placeholder,.provenance-placeholder,.peer-placeholder,.empty-message,.placeholder-text{text-align:center;color:#999;background:#f9f9f9;border:2px dashed #ddd;border-radius:6px;margin-top:20px;padding:40px}.placeholder-text{border:none;padding:20px}.peer-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:20px;display:grid}.peer-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:15px;display:flex}.peer-status{font-size:12px}.peer-status.online{color:#28a745}.peer-name{font-weight:500}.health-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.health-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:15px;display:flex}.health-item.status-healthy{background:#f8f9fa;border-color:#d4edda}.health-item.status-warning{background:#fffbf0;border-color:#fff3cd}.health-item.status-error{background:#fff5f5;border-color:#f8d7da}.status-icon{font-size:16px;font-weight:700}.health-item.status-healthy .status-icon{color:#28a745}.health-item.status-warning .status-icon{color:#ffc107}.health-item.status-error .status-icon{color:#dc3545}.component-name{font-weight:500}.reference-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.search-box{margin-bottom:20px}.reference-details{margin-top:20px}.detail-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.detail-row label{color:#666;font-weight:600}.detail-row span{color:#333}.status-materialized{color:#28a745;font-weight:500}.operations-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.filter-controls{margin-bottom:20px}.operations-table{border-collapse:collapse;width:100%;margin-top:20px}.operations-table th{text-align:left;background:#f5f5f5;border-bottom:2px solid #ddd;padding:10px;font-weight:600}.operations-table td{border-bottom:1px solid #f0f0f0;padding:10px}.conflict-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.conflict-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.summary-stat{text-align:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.summary-stat label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.workflow-visualizer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.workflow-controls{margin-bottom:20px}.workflows-list,.workflow-detail{margin-top:20px}.agent-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.agents-grid,.agent-detail{margin-top:20px}.provenance-viewer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.provenance-content{margin-top:20px}.settings-panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.settings-tabs{border-bottom:1px solid #e0e0e0;gap:10px;margin:20px 0;display:flex}.tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 15px;font-weight:500;transition:all .2s}.tab.active{color:#007bff;border-bottom-color:#007bff}.settings-content{margin-top:20px}.keys-list,.connection-info{margin:20px 0}.info-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.info-row label{color:#666;font-weight:600}.monospace{font-family:Monaco,Courier New,monospace;font-size:12px}.global-search{position:relative}.search-input.global{margin-bottom:10px}.search-results{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:4px;max-height:400px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.results-group{border-bottom:1px solid #f0f0f0;padding:10px}.results-group h4{color:#666;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.results-group .empty-message{color:#999;background:0 0;border:none;padding:5px 0;font-size:12px}@media (width<=768px){.studio-app{flex-direction:column}.studio-nav{border-bottom:1px solid #333;border-right:none;width:100%;max-height:200px}.nav-menu{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.nav-menu a{padding:8px 5px;font-size:12px}}.studio-model-page{color:#19251f;max-width:1280px;margin:0 auto}.studio-model-page>header{margin-bottom:22px}.studio-model-page>header h1{margin:4px 0 6px;font-family:Georgia,serif;font-size:36px}.studio-model-page>header p{color:#68776f;margin:0}.eyebrow,.card-kind{color:#217052;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.model-summary{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.model-summary>span,.model-summary select{color:#426052;background:#f8fbf9;border:1px solid #d6e1da;border-radius:999px;padding:7px 12px;font-size:12px}.studio-card-grid,.state-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.studio-card{background:#fff;border:1px solid #d7e0da;border-radius:12px;padding:18px;box-shadow:0 6px 22px #1937280d}.studio-card h2{margin:6px 0 14px;font-family:Georgia,serif;font-size:22px}.model-empty{color:#75847c;text-align:center;background:#fafcfb;border:1px dashed #cbd8d0;border-radius:10px;grid-column:1/-1;padding:34px}.model-empty.compact{padding:20px 10px}.state-collection>header{justify-content:space-between;align-items:center;display:flex}.state-collection>header h2{margin-bottom:8px}.state-collection>header strong{color:#237154;font:30px Georgia,serif}.state-row{text-align:left;color:#26372f;cursor:pointer;background:0 0;border:0;border-top:1px solid #e8edea;grid-template-columns:1fr auto;gap:8px;width:100%;padding:12px 2px;display:grid}.state-row span:first-child{flex-direction:column;gap:3px;display:flex}.state-row small{color:#859189}.state-row pre{color:#dcebe2;background:#13231b;border-radius:8px;grid-column:1/-1;margin:4px 0 0;padding:12px;overflow:auto}.table-shell{background:#fff;border:1px solid #d7e0da;border-radius:12px;overflow:auto}.table-shell table{width:100%;margin:0}.event-pill{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.event-pill.put{color:#176443;background:#dff4e9}.event-pill.delete{color:#963e2c;background:#fbe4df}.reference-query{gap:8px;margin-bottom:18px;display:flex}.reference-query input{border:1px solid #cad7cf;border-radius:8px;flex:1;padding:12px 14px;font-family:monospace}.reference-query button{color:#fff;cursor:pointer;background:#1f7152;border:0;border-radius:8px;padding:0 20px;font-weight:700}.reference-layout{grid-template-columns:minmax(220px,.35fr) 1fr;gap:16px;display:grid}.reference-example{cursor:pointer;background:0 0;border:0;border-top:1px solid #e8edea;justify-content:space-between;width:100%;padding:12px 0;display:flex}.reference-example small{color:#829087}.reference-result pre,.execution-row pre{color:#dcebe2;background:#14231c;border-radius:8px;padding:14px;overflow:auto}.execution-list{gap:10px;margin-bottom:20px;display:grid}.execution-row{background:#fff;border:1px solid #d8e1db;border-radius:10px;grid-template-columns:1fr auto;gap:10px;padding:14px;display:grid}.execution-row>div{flex-direction:column;display:flex}.execution-row small{color:#829087}.execution-row pre{grid-column:1/-1;max-height:180px;margin:0}.execution-empty{margin-top:14px}.provenance-nodes{flex-wrap:wrap;gap:10px;display:flex}.provenance-nodes>div,.provenance-event{border:1px solid #d8e1db;border-radius:8px;flex-direction:column;gap:3px;padding:12px;display:flex}.provenance-nodes small,.provenance-event small{color:#849087}.provenance-event{grid-template-columns:45px 1fr 1fr auto;margin-top:8px;display:grid}.peer-topology{align-items:center;gap:10px;padding:30px 4px;display:flex;overflow:auto}.peer-node{background:#fff;border:1px solid #cad8cf;border-radius:12px;min-width:230px;padding:18px}.peer-node.local{color:#eef7f2;background:#183429}.peer-node span,.peer-node small{opacity:.7;font-size:11px}.peer-node h2{margin:6px 0;font-size:15px}.peer-link{background:#81a893;width:45px;height:2px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.metric-grid article{color:#fff;background:#183429;border-radius:10px;flex-direction:column;padding:18px;display:flex}.metric-grid b{font:32px Georgia,serif}.metric-grid span{opacity:.7;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.health-item{align-items:center;gap:12px;display:flex}.health-item div{flex-direction:column;gap:3px;display:flex}.health-item small{color:#78857e}.health-issue{background:#fff2dc;border-radius:8px;margin:10px 0;padding:12px}.search-result{border-top:1px solid #edf0ee;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 0;display:grid}.search-result span{color:#287254;text-transform:uppercase;font-size:10px}.search-result small{color:#829087;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}@media (width<=800px){.reference-layout,.metric-grid{grid-template-columns:1fr}.provenance-event{grid-template-columns:35px 1fr}.provenance-event code,.provenance-event small{grid-column:2}}:root{--primary-color:#007bff;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545;--dark:#1a1a1a;--light:#f5f5f5;--border:#e0e0e0;--text-muted:#999}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}#root{width:100%;height:100%}body{background:var(--light);color:#333}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}p{line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}*{scrollbar-color:#ccc transparent;scrollbar-width:thin}
@@ -0,0 +1,3 @@
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#17211b"/><title>FeltDB Studio</title> <script type="module" crossorigin src="/assets/index-B-lZjdtI.js"></script>
2
+ <link rel="stylesheet" crossorigin href="/assets/index-CB-Eed9V.css">
3
+ </head><body><div id="root"></div></body></html>
@@ -0,0 +1,461 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /**
5
+ * Wrapper around FeltDb for JavaScript interop
6
+ */
7
+ export class JsDb {
8
+ private constructor();
9
+ free(): void;
10
+ [Symbol.dispose](): void;
11
+ /**
12
+ * Acknowledge receipt of operations from a peer
13
+ *
14
+ * # Arguments
15
+ * * `peer_id` - Unique identifier for the peer
16
+ * * `sequence` - Acknowledge operations up to this sequence number
17
+ *
18
+ * # Returns
19
+ * JsResult with success status
20
+ */
21
+ acknowledge_peer_operations(peer_id: string, sequence: bigint): JsResult;
22
+ /**
23
+ * Add a peer for synchronization
24
+ *
25
+ * # Arguments
26
+ * * `peer_id` - Unique identifier for the peer
27
+ *
28
+ * # Returns
29
+ * JsResult with success status
30
+ */
31
+ add_sync_peer(peer_id: string): JsResult;
32
+ /**
33
+ * Delete a record from the database.
34
+ */
35
+ delete(key: string): JsResult;
36
+ execute_canonical_query(schema: string, authorization: string, state_namespace: string, query: string): JsResult;
37
+ execute_canonical_transaction(schema: string, request: string): JsResult;
38
+ /**
39
+ * Retrieve a record from the database
40
+ *
41
+ * # Arguments
42
+ * * `key` - Key for the record
43
+ *
44
+ * # Returns
45
+ * JSON string of the record or error
46
+ */
47
+ get(key: string): JsResult;
48
+ /**
49
+ * Get all records in a capability namespace
50
+ *
51
+ * # Arguments
52
+ * * `capability` - Capability/namespace name
53
+ *
54
+ * # Returns
55
+ * JSON array string of all records in the capability
56
+ */
57
+ get_capability_records(capability: string): JsResult;
58
+ /**
59
+ * Get pending operations for a peer since a given sequence
60
+ *
61
+ * # Arguments
62
+ * * `peer_id` - Unique identifier for the peer
63
+ * * `since_sequence` - Get operations after this sequence number
64
+ *
65
+ * # Returns
66
+ * JSON array of operations as a string
67
+ */
68
+ get_pending_for_peer(peer_id: string, since_sequence: bigint): JsResult;
69
+ /**
70
+ * Get the current sequence number for this instance
71
+ *
72
+ * # Returns
73
+ * The current sequence number
74
+ */
75
+ get_sequence(): bigint;
76
+ /**
77
+ * Insert a record into the database
78
+ *
79
+ * # Arguments
80
+ * * `key` - Key for the record (e.g., "users:123")
81
+ * * `value` - JSON object as a string
82
+ *
83
+ * # Returns
84
+ * JsResult with success status
85
+ */
86
+ insert(key: string, value: string): JsResult;
87
+ /**
88
+ * Get the instance ID for this FeltDB instance
89
+ *
90
+ * # Returns
91
+ * The unique instance ID as a string
92
+ */
93
+ instance_id(): string;
94
+ /**
95
+ * Check if a type is auto-indexed
96
+ *
97
+ * # Returns
98
+ * Whether the default (generic JSON) type is auto-indexed
99
+ */
100
+ is_auto_indexed(): boolean;
101
+ /**
102
+ * Query records in the database with a predicate
103
+ *
104
+ * For now, this returns all records of a given type namespace as a simplified implementation.
105
+ * The full closure-based predicate from Rust cannot be directly represented in WASM bindings.
106
+ *
107
+ * # Arguments
108
+ * * `capability` - Capability/namespace to query (e.g., "users")
109
+ *
110
+ * # Returns
111
+ * JSON array string of matching records
112
+ */
113
+ query(capability: string): JsResult;
114
+ /**
115
+ * Remove a peer from synchronization
116
+ *
117
+ * # Arguments
118
+ * * `peer_id` - Unique identifier for the peer
119
+ *
120
+ * # Returns
121
+ * JsResult with success status
122
+ */
123
+ remove_sync_peer(peer_id: string): JsResult;
124
+ /**
125
+ * Get current sync state information
126
+ *
127
+ * # Returns
128
+ * JSON string containing sync state metrics
129
+ */
130
+ sync_info(): JsResult;
131
+ /**
132
+ * Update an existing record through the canonical update operation.
133
+ */
134
+ update(key: string, value: string): JsResult;
135
+ }
136
+
137
+ /**
138
+ * Result type for WASM operations
139
+ */
140
+ export class JsResult {
141
+ private constructor();
142
+ free(): void;
143
+ [Symbol.dispose](): void;
144
+ readonly data: string | undefined;
145
+ readonly error: string | undefined;
146
+ readonly success: boolean;
147
+ }
148
+
149
+ /**
150
+ * High-performance analytics engine for index monitoring.
151
+ * Tracks metrics, generates reports, and provides tuning recommendations.
152
+ */
153
+ export class WasmAnalytics {
154
+ free(): void;
155
+ [Symbol.dispose](): void;
156
+ /**
157
+ * Generate performance report for a collection.
158
+ */
159
+ generate_report(collection_name: string, period: string): string;
160
+ /**
161
+ * Get metrics for all indexes.
162
+ */
163
+ get_all_metrics(): string;
164
+ /**
165
+ * Get most frequently accessed fields.
166
+ */
167
+ get_frequent_fields(limit: number): string;
168
+ /**
169
+ * Get metrics for a specific index.
170
+ */
171
+ get_index_metrics(index_name: string): string;
172
+ /**
173
+ * Get slowest queries.
174
+ */
175
+ get_slowest_queries(limit: number): string;
176
+ constructor();
177
+ /**
178
+ * Record an index usage event.
179
+ */
180
+ record_index_usage(index_name: string, operation: string, time_ms: number): void;
181
+ /**
182
+ * Record a query execution with performance metrics.
183
+ */
184
+ record_query(fields_json: string, operator: string, execution_time_ms: number, rows_scanned: bigint, result_count: bigint, index_used?: string | null): void;
185
+ /**
186
+ * Reset all collected metrics.
187
+ */
188
+ reset(): void;
189
+ }
190
+
191
+ /**
192
+ * Distributed index manager for multi-node synchronization.
193
+ * Coordinates index replication, consistency, and conflict resolution.
194
+ */
195
+ export class WasmDistributedIndexManager {
196
+ free(): void;
197
+ [Symbol.dispose](): void;
198
+ /**
199
+ * Create a replicated index
200
+ */
201
+ create_replicated_index(name: string, field: string, index_type: string): void;
202
+ /**
203
+ * Detect version conflicts
204
+ */
205
+ detect_conflicts(index_name: string): string;
206
+ /**
207
+ * Get replication status for an index
208
+ */
209
+ get_replication_status(index_name: string): string;
210
+ /**
211
+ * Get list of peers needing replication for an index
212
+ */
213
+ get_replication_targets(index_name: string): string;
214
+ /**
215
+ * Get overall synchronization status
216
+ */
217
+ get_sync_status(): string;
218
+ /**
219
+ * Merge concurrent versions
220
+ */
221
+ merge_versions(index_name: string): void;
222
+ constructor(peer_id: string);
223
+ /**
224
+ * Register a peer for replication
225
+ */
226
+ register_peer(peer_id: string): void;
227
+ /**
228
+ * Set peer reachability
229
+ */
230
+ set_peer_reachable(peer_id: string, reachable: boolean): void;
231
+ }
232
+
233
+ /**
234
+ * High-performance index manager for collections.
235
+ * Wraps Rust IndexManager for optimal query performance.
236
+ */
237
+ export class WasmIndexManager {
238
+ free(): void;
239
+ [Symbol.dispose](): void;
240
+ /**
241
+ * Create a new index on the collection.
242
+ */
243
+ create_index(config: string): void;
244
+ /**
245
+ * Get statistics for an index.
246
+ */
247
+ get_stats(name: string): string;
248
+ /**
249
+ * List all indexes.
250
+ */
251
+ list_indexes(): string;
252
+ constructor();
253
+ /**
254
+ * Query an index.
255
+ */
256
+ query_index(index_name: string, operator: string, value: string): string;
257
+ /**
258
+ * Update a record's index entries.
259
+ */
260
+ update_record(record_id: string, old_value: string | null | undefined, new_value: string): void;
261
+ }
262
+
263
+ /**
264
+ * Shard manager for horizontal scaling.
265
+ * Distributes data across shards and handles rebalancing.
266
+ */
267
+ export class WasmShardManager {
268
+ free(): void;
269
+ [Symbol.dispose](): void;
270
+ /**
271
+ * Detect hotspots
272
+ */
273
+ detect_hotspots(): string;
274
+ /**
275
+ * Generate rebalance operations
276
+ */
277
+ generate_rebalance_ops(): string;
278
+ /**
279
+ * Get all shard metrics
280
+ */
281
+ get_all_metrics(): string;
282
+ /**
283
+ * Get distribution summary
284
+ */
285
+ get_distribution_summary(): string;
286
+ /**
287
+ * Get shard for a key
288
+ */
289
+ get_shard_for_key(key: string): string;
290
+ /**
291
+ * Initialize shards
292
+ */
293
+ initialize_shards(shard_ids_json: string): void;
294
+ constructor(shard_field: string, strategy: string);
295
+ /**
296
+ * Record a shard operation
297
+ */
298
+ record_shard_operation(shard_id: string, operation: string, time_ms: number, records_affected: number, size_bytes: bigint): void;
299
+ }
300
+
301
+ export function apply_sync_result(local_runtime: string, result: string): string;
302
+
303
+ export function authorize_offline(signed_grant: string, key_id: string, verification_key: string, request: string, grant_chain: string, revocations: string): string;
304
+
305
+ export function canonical_bundle_hash(bundle_json: string): string;
306
+
307
+ /**
308
+ * Canonicalizes a typed application manifest using the same Rust implementation
309
+ * used by the server. JavaScript never defines revision identity independently.
310
+ */
311
+ export function canonicalize_application_manifest(input: string): string;
312
+
313
+ export function compare_state_schemas(before: string, after: string): string;
314
+
315
+ export function diff_application_revisions(from: string | null | undefined, to: string): string;
316
+
317
+ export function hash_application_manifest(input: string): string;
318
+
319
+ export function hash_application_runtime(revision: string, environment: string): string;
320
+
321
+ export function hash_state_schema(schema: string): string;
322
+
323
+ /**
324
+ * Opens or creates a FeltDB database
325
+ *
326
+ * # Arguments
327
+ * * `path` - Path to the database file
328
+ *
329
+ * # Returns
330
+ * JsDb instance or error
331
+ */
332
+ export function open(path: string): JsDb;
333
+
334
+ export function resolve_application_runtime(revision: string, environment: string): string;
335
+
336
+ export function validate_mesh_claim(claim: string, worker: string, workload: string, now: bigint): void;
337
+
338
+ export function validate_state_schema(schema: string): string;
339
+
340
+ export function validate_sync_operation(operation: string): string;
341
+
342
+ export function validate_worker_transition(from: string, to: string): boolean;
343
+
344
+ export function validate_workload_transition(from: string, to: string): boolean;
345
+
346
+ export function verify_bundle_integrity(bundle_json: string): boolean;
347
+
348
+ /**
349
+ * Verify a portable signed grant with the exact Rust canonicalization used by
350
+ * the server. The verification key is provisioned with the offline app shell.
351
+ */
352
+ export function verify_signed_grant(signed_grant: string, key_id: string, verification_key: string, request: string, grant_chain: string, revocations: string): string;
353
+
354
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
355
+
356
+ export interface InitOutput {
357
+ readonly memory: WebAssembly.Memory;
358
+ readonly __wbg_jsdb_free: (a: number, b: number) => void;
359
+ readonly __wbg_jsresult_free: (a: number, b: number) => void;
360
+ readonly __wbg_wasmanalytics_free: (a: number, b: number) => void;
361
+ readonly __wbg_wasmdistributedindexmanager_free: (a: number, b: number) => void;
362
+ readonly __wbg_wasmindexmanager_free: (a: number, b: number) => void;
363
+ readonly __wbg_wasmshardmanager_free: (a: number, b: number) => void;
364
+ readonly apply_sync_result: (a: number, b: number, c: number, d: number) => [number, number, number, number];
365
+ readonly authorize_offline: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number, number, number];
366
+ readonly canonical_bundle_hash: (a: number, b: number) => [number, number, number, number];
367
+ readonly canonicalize_application_manifest: (a: number, b: number) => [number, number, number, number];
368
+ readonly compare_state_schemas: (a: number, b: number, c: number, d: number) => [number, number, number, number];
369
+ readonly diff_application_revisions: (a: number, b: number, c: number, d: number) => [number, number, number, number];
370
+ readonly hash_application_manifest: (a: number, b: number) => [number, number, number, number];
371
+ readonly hash_application_runtime: (a: number, b: number, c: number, d: number) => [number, number, number, number];
372
+ readonly hash_state_schema: (a: number, b: number) => [number, number, number, number];
373
+ readonly jsdb_acknowledge_peer_operations: (a: number, b: number, c: number, d: bigint) => number;
374
+ readonly jsdb_add_sync_peer: (a: number, b: number, c: number) => number;
375
+ readonly jsdb_delete: (a: number, b: number, c: number) => number;
376
+ readonly jsdb_execute_canonical_query: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
377
+ readonly jsdb_execute_canonical_transaction: (a: number, b: number, c: number, d: number, e: number) => number;
378
+ readonly jsdb_get: (a: number, b: number, c: number) => number;
379
+ readonly jsdb_get_capability_records: (a: number, b: number, c: number) => number;
380
+ readonly jsdb_get_pending_for_peer: (a: number, b: number, c: number, d: bigint) => number;
381
+ readonly jsdb_get_sequence: (a: number) => bigint;
382
+ readonly jsdb_insert: (a: number, b: number, c: number, d: number, e: number) => number;
383
+ readonly jsdb_instance_id: (a: number) => [number, number];
384
+ readonly jsdb_is_auto_indexed: (a: number) => number;
385
+ readonly jsdb_query: (a: number, b: number, c: number) => number;
386
+ readonly jsdb_remove_sync_peer: (a: number, b: number, c: number) => number;
387
+ readonly jsdb_sync_info: (a: number) => number;
388
+ readonly jsdb_update: (a: number, b: number, c: number, d: number, e: number) => number;
389
+ readonly jsresult_data: (a: number) => [number, number];
390
+ readonly jsresult_error: (a: number) => [number, number];
391
+ readonly jsresult_success: (a: number) => number;
392
+ readonly open: (a: number, b: number) => [number, number, number];
393
+ readonly resolve_application_runtime: (a: number, b: number, c: number, d: number) => [number, number, number, number];
394
+ readonly validate_mesh_claim: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint) => [number, number];
395
+ readonly validate_state_schema: (a: number, b: number) => [number, number, number, number];
396
+ readonly validate_sync_operation: (a: number, b: number) => [number, number, number, number];
397
+ readonly validate_worker_transition: (a: number, b: number, c: number, d: number) => [number, number, number];
398
+ readonly validate_workload_transition: (a: number, b: number, c: number, d: number) => [number, number, number];
399
+ readonly verify_bundle_integrity: (a: number, b: number) => [number, number, number];
400
+ readonly verify_signed_grant: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number, number, number];
401
+ readonly wasmanalytics_generate_report: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
402
+ readonly wasmanalytics_get_all_metrics: (a: number) => [number, number, number, number];
403
+ readonly wasmanalytics_get_frequent_fields: (a: number, b: number) => [number, number, number, number];
404
+ readonly wasmanalytics_get_index_metrics: (a: number, b: number, c: number) => [number, number, number, number];
405
+ readonly wasmanalytics_get_slowest_queries: (a: number, b: number) => [number, number, number, number];
406
+ readonly wasmanalytics_new: () => number;
407
+ readonly wasmanalytics_record_index_usage: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
408
+ readonly wasmanalytics_record_query: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: bigint, i: number, j: number) => [number, number];
409
+ readonly wasmanalytics_reset: (a: number) => void;
410
+ readonly wasmdistributedindexmanager_create_replicated_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
411
+ readonly wasmdistributedindexmanager_detect_conflicts: (a: number, b: number, c: number) => [number, number, number, number];
412
+ readonly wasmdistributedindexmanager_get_replication_status: (a: number, b: number, c: number) => [number, number, number, number];
413
+ readonly wasmdistributedindexmanager_get_replication_targets: (a: number, b: number, c: number) => [number, number, number, number];
414
+ readonly wasmdistributedindexmanager_get_sync_status: (a: number) => [number, number, number, number];
415
+ readonly wasmdistributedindexmanager_merge_versions: (a: number, b: number, c: number) => [number, number];
416
+ readonly wasmdistributedindexmanager_new: (a: number, b: number) => number;
417
+ readonly wasmdistributedindexmanager_register_peer: (a: number, b: number, c: number) => void;
418
+ readonly wasmdistributedindexmanager_set_peer_reachable: (a: number, b: number, c: number, d: number) => void;
419
+ readonly wasmindexmanager_create_index: (a: number, b: number, c: number) => [number, number];
420
+ readonly wasmindexmanager_get_stats: (a: number, b: number, c: number) => [number, number, number, number];
421
+ readonly wasmindexmanager_list_indexes: (a: number) => [number, number, number, number];
422
+ readonly wasmindexmanager_new: () => number;
423
+ readonly wasmindexmanager_query_index: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
424
+ readonly wasmindexmanager_update_record: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
425
+ readonly wasmshardmanager_detect_hotspots: (a: number) => [number, number, number, number];
426
+ readonly wasmshardmanager_generate_rebalance_ops: (a: number) => [number, number, number, number];
427
+ readonly wasmshardmanager_get_all_metrics: (a: number) => [number, number, number, number];
428
+ readonly wasmshardmanager_get_distribution_summary: (a: number) => [number, number, number, number];
429
+ readonly wasmshardmanager_get_shard_for_key: (a: number, b: number, c: number) => [number, number, number, number];
430
+ readonly wasmshardmanager_initialize_shards: (a: number, b: number, c: number) => [number, number];
431
+ readonly wasmshardmanager_new: (a: number, b: number, c: number, d: number) => number;
432
+ readonly wasmshardmanager_record_shard_operation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: bigint) => void;
433
+ readonly __wbindgen_externrefs: WebAssembly.Table;
434
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
435
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
436
+ readonly __externref_table_dealloc: (a: number) => void;
437
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
438
+ readonly __wbindgen_start: () => void;
439
+ }
440
+
441
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
442
+
443
+ /**
444
+ * Instantiates the given `module`, which can either be bytes or
445
+ * a precompiled `WebAssembly.Module`.
446
+ *
447
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
448
+ *
449
+ * @returns {InitOutput}
450
+ */
451
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
452
+
453
+ /**
454
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
455
+ * for everything else, calls `WebAssembly.instantiate` directly.
456
+ *
457
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
458
+ *
459
+ * @returns {Promise<InitOutput>}
460
+ */
461
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;