@feltdb/core 0.13.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-runtime.d.ts +64 -2
- package/dist/agent-runtime.d.ts.map +1 -1
- package/dist/agent-runtime.js +121 -11
- package/dist/agent-state.d.ts +68 -0
- package/dist/agent-state.d.ts.map +1 -1
- package/dist/agent-state.js +210 -12
- package/dist/agent.d.ts +10 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +10 -1
- package/dist/build-identity.json +12 -4
- package/dist/cli/commands.js +214 -10
- package/dist/cli/publish-engine.js +116 -16
- package/dist/collection.d.ts +3 -1
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +33 -8
- package/dist/create/build-identity.json +12 -4
- package/dist/create/cli.js +1 -1
- package/dist/create/create.js +4 -6
- package/dist/create/managed-account.js +93 -35
- package/dist/create/package-versions.js +1 -1
- package/dist/create/server-source/Cargo.lock +8 -511
- package/dist/create/server-source/Cargo.toml +2 -13
- package/dist/create/server-source/crates/feltdb-client/Cargo.toml +1 -1
- package/dist/create/server-source/crates/feltdb-server/Cargo.toml +1 -1
- package/dist/create/server-source/crates/feltdb-server/README.md +6 -1
- package/dist/create/server-source/crates/feltdb-server/src/app_state.rs +9 -1
- package/dist/create/server-source/crates/feltdb-server/src/auth.rs +85 -25
- package/dist/create/server-source/crates/feltdb-server/src/backup.rs +4 -0
- package/dist/create/server-source/crates/feltdb-server/src/console_accounts.rs +1009 -0
- package/dist/create/server-source/crates/feltdb-server/src/control_authorization.rs +441 -0
- package/dist/create/server-source/crates/feltdb-server/src/identity.rs +68 -6
- package/dist/create/server-source/crates/feltdb-server/src/key_management.rs +355 -23
- package/dist/create/server-source/crates/feltdb-server/src/lib.rs +3 -0
- package/dist/create/server-source/crates/feltdb-server/src/main.rs +1134 -96
- package/dist/create/server-source/crates/feltdb-server/src/redaction.rs +208 -0
- package/dist/create/server-source/crates/feltdb-server/src/tenancy.rs +198 -19
- package/dist/create/server-source/crates/feltdb-server/tests/transaction_precondition_contract.rs +403 -0
- package/dist/create/server-source/crates/feltdb-wasm/Cargo.toml +1 -1
- package/dist/db.d.ts +75 -10
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +168 -29
- package/dist/deployment.d.ts +19 -0
- package/dist/deployment.d.ts.map +1 -1
- package/dist/deployment.js +38 -2
- package/dist/embedded-query.d.ts.map +1 -1
- package/dist/embedded-query.js +5 -4
- package/dist/embedded-transaction.d.ts +8 -4
- package/dist/embedded-transaction.d.ts.map +1 -1
- package/dist/embedded-transaction.js +55 -19
- package/dist/error-codes.d.ts +36 -2
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +50 -3
- package/dist/feltdb.d.ts +7 -0
- package/dist/feltdb.d.ts.map +1 -1
- package/dist/file-db.d.ts +27 -0
- package/dist/file-db.d.ts.map +1 -1
- package/dist/file-db.js +145 -7
- package/dist/http-client.d.ts +11 -3
- package/dist/http-client.d.ts.map +1 -1
- package/dist/http-client.js +27 -14
- package/dist/http-db.d.ts +43 -1
- package/dist/http-db.d.ts.map +1 -1
- package/dist/http-db.js +287 -59
- package/dist/index.js +1 -1
- package/dist/local-state-lock.d.ts +34 -0
- package/dist/local-state-lock.d.ts.map +1 -0
- package/dist/local-state-lock.js +225 -0
- package/dist/managed-recovery.d.ts +6 -0
- package/dist/managed-recovery.d.ts.map +1 -1
- package/dist/managed-recovery.js +9 -0
- package/dist/reactive-graph.d.ts +0 -3
- package/dist/reactive-graph.d.ts.map +1 -1
- package/dist/reactive-graph.js +11 -1
- package/dist/runtime-registry.d.ts +7 -2
- package/dist/runtime-registry.d.ts.map +1 -1
- package/dist/runtime-registry.js +2 -2
- package/dist/studio/components/index.js +1 -1
- package/dist/studio/{components-BSGmHfif.js → components-CJmzntBi.js} +2 -1
- package/dist/studio/index.js +1 -1
- package/dist/studio-app/assets/{feltdb_wasm-3hDngl1h.js → feltdb_wasm-DtybUY0q.js} +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-DsgIUwaB.wasm +0 -0
- package/dist/studio-app/assets/index-C4OffsZl.js +37 -0
- package/dist/studio-app/index.html +1 -1
- package/dist/transaction.d.ts +27 -11
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +20 -14
- package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
- package/dist/wasm/package.json +1 -1
- package/dist/workload.d.ts +86 -6
- package/dist/workload.d.ts.map +1 -1
- package/dist/workload.js +51 -3
- package/dist/workspace/workspace-connection.d.ts.map +1 -1
- package/dist/workspace/workspace-connection.js +14 -3
- package/package.json +1 -1
- package/dist/create/server-source/crates/feltdb/Cargo.lock +0 -175
- package/dist/create/server-source/crates/feltdb/Cargo.toml +0 -102
- package/dist/create/server-source/crates/feltdb/LICENSE +0 -21
- package/dist/create/server-source/crates/feltdb/README.md +0 -75
- package/dist/create/server-source/crates/feltdb/benches/baselines/gate-13-redux.json +0 -370
- package/dist/create/server-source/crates/feltdb/benches/gate13_baseline.rs +0 -589
- package/dist/create/server-source/crates/feltdb/benches/gate13_phase_7_1_release_economics.rs +0 -247
- package/dist/create/server-source/crates/feltdb/benches/gate_13_redux.rs +0 -440
- package/dist/create/server-source/crates/feltdb/benches/gate_13_regression_runner.rs +0 -275
- package/dist/create/server-source/crates/feltdb/benches/gate_14a_concurrent_writer_scaling.rs +0 -381
- package/dist/create/server-source/crates/feltdb/benches/gate_14a_production_admission_revalidation.rs +0 -467
- package/dist/create/server-source/crates/feltdb/benches/gate_14a_rc2_admission_contract.rs +0 -489
- package/dist/create/server-source/crates/feltdb/benches/gate_14a_rc_root_cause.rs +0 -281
- package/dist/create/server-source/crates/feltdb/benches/gate_14a_sync1_queued_prototype.rs +0 -606
- package/dist/create/server-source/crates/feltdb/benches/gate_14a_sync_economics.rs +0 -531
- package/dist/create/server-source/crates/feltdb/benches/gate_14b_causal_backlog_scaling.rs +0 -462
- package/dist/create/server-source/crates/feltdb/benches/gate_14c_replication_contract_test.rs +0 -505
- package/dist/create/server-source/crates/feltdb/benches/gate_14c_replication_scaling.rs +0 -484
- package/dist/create/server-source/crates/feltdb/benches/gate_14d_combined_dimension_scaling.rs +0 -758
- package/dist/create/server-source/crates/feltdb/benches/phase_7_1_2_optimization_benchmark.rs +0 -421
- package/dist/create/server-source/crates/feltdb/benches/phase_7_1_3_crossover_analysis.rs +0 -329
- package/dist/create/server-source/crates/feltdb/src/acceptance_tests.rs +0 -1705
- package/dist/create/server-source/crates/feltdb/src/acquisition.rs +0 -286
- package/dist/create/server-source/crates/feltdb/src/admission.rs +0 -185
- package/dist/create/server-source/crates/feltdb/src/admission_contract_tests.rs +0 -507
- package/dist/create/server-source/crates/feltdb/src/adversarial_transport.rs +0 -539
- package/dist/create/server-source/crates/feltdb/src/agent_state.rs +0 -320
- package/dist/create/server-source/crates/feltdb/src/agent_transition_contract.rs +0 -1545
- package/dist/create/server-source/crates/feltdb/src/analytics.rs +0 -521
- package/dist/create/server-source/crates/feltdb/src/application.rs +0 -2674
- package/dist/create/server-source/crates/feltdb/src/application_runtime.rs +0 -1070
- package/dist/create/server-source/crates/feltdb/src/authority.rs +0 -479
- package/dist/create/server-source/crates/feltdb/src/authority_failover.rs +0 -847
- package/dist/create/server-source/crates/feltdb/src/authorization.rs +0 -1030
- package/dist/create/server-source/crates/feltdb/src/authorization_security_tests.rs +0 -1122
- package/dist/create/server-source/crates/feltdb/src/bin/feltdb-authority-client.rs +0 -32
- package/dist/create/server-source/crates/feltdb/src/bin/feltdb-authority.rs +0 -19
- package/dist/create/server-source/crates/feltdb/src/bin/feltdb_node.rs +0 -1474
- package/dist/create/server-source/crates/feltdb/src/capabilities/mod.rs +0 -8
- package/dist/create/server-source/crates/feltdb/src/capabilities/search.rs +0 -418
- package/dist/create/server-source/crates/feltdb/src/capabilities/vector.rs +0 -482
- package/dist/create/server-source/crates/feltdb/src/capability.rs +0 -903
- package/dist/create/server-source/crates/feltdb/src/cardinality_diagnostics.rs +0 -263
- package/dist/create/server-source/crates/feltdb/src/cardinality_endpoint.rs +0 -77
- package/dist/create/server-source/crates/feltdb/src/causal_backlog_bound.rs +0 -496
- package/dist/create/server-source/crates/feltdb/src/causal_dependency_barrier.rs +0 -2574
- package/dist/create/server-source/crates/feltdb/src/causal_dependency_barrier_phase_7_1.rs +0 -212
- package/dist/create/server-source/crates/feltdb/src/concurrency_fuzzing.rs +0 -422
- package/dist/create/server-source/crates/feltdb/src/consistency_contract.rs +0 -445
- package/dist/create/server-source/crates/feltdb/src/content_distribution.rs +0 -465
- package/dist/create/server-source/crates/feltdb/src/convergence.rs +0 -634
- package/dist/create/server-source/crates/feltdb/src/crash_atomic_boundary.rs +0 -427
- package/dist/create/server-source/crates/feltdb/src/crash_injection.rs +0 -376
- package/dist/create/server-source/crates/feltdb/src/crash_recovery_tests.rs +0 -365
- package/dist/create/server-source/crates/feltdb/src/cron.rs +0 -294
- package/dist/create/server-source/crates/feltdb/src/dedup_bound_investigation.rs +0 -483
- package/dist/create/server-source/crates/feltdb/src/distributed_indexing.rs +0 -477
- package/dist/create/server-source/crates/feltdb/src/distributed_tests.rs +0 -1003
- package/dist/create/server-source/crates/feltdb/src/distributed_transactions.rs +0 -1334
- package/dist/create/server-source/crates/feltdb/src/durability_guarantees.rs +0 -368
- package/dist/create/server-source/crates/feltdb/src/durable_dedup_set.rs +0 -231
- package/dist/create/server-source/crates/feltdb/src/durable_operation_identity.rs +0 -482
- package/dist/create/server-source/crates/feltdb/src/durable_operation_log.rs +0 -203
- package/dist/create/server-source/crates/feltdb/src/durable_sync.rs +0 -317
- package/dist/create/server-source/crates/feltdb/src/equality_index.rs +0 -595
- package/dist/create/server-source/crates/feltdb/src/execution.rs +0 -426
- package/dist/create/server-source/crates/feltdb/src/in_process_transport.rs +0 -214
- package/dist/create/server-source/crates/feltdb/src/indexing.rs +0 -776
- package/dist/create/server-source/crates/feltdb/src/lib.rs +0 -7274
- package/dist/create/server-source/crates/feltdb/src/managed_cas_tests.rs +0 -234
- package/dist/create/server-source/crates/feltdb/src/materialization.rs +0 -184
- package/dist/create/server-source/crates/feltdb/src/metrics.rs +0 -266
- package/dist/create/server-source/crates/feltdb/src/multi_node_convergence.rs +0 -310
- package/dist/create/server-source/crates/feltdb/src/multi_operation_transaction.rs +0 -736
- package/dist/create/server-source/crates/feltdb/src/observability.rs +0 -379
- package/dist/create/server-source/crates/feltdb/src/operation.rs +0 -290
- package/dist/create/server-source/crates/feltdb/src/operation_algebra.rs +0 -439
- package/dist/create/server-source/crates/feltdb/src/operation_log.rs +0 -349
- package/dist/create/server-source/crates/feltdb/src/p1_application_atomicity.rs +0 -332
- package/dist/create/server-source/crates/feltdb/src/p1_atomicity_acceptance.rs +0 -718
- package/dist/create/server-source/crates/feltdb/src/partition_reconciliation.rs +0 -487
- package/dist/create/server-source/crates/feltdb/src/peer_registry.rs +0 -166
- package/dist/create/server-source/crates/feltdb/src/permutation_scheduler.rs +0 -289
- package/dist/create/server-source/crates/feltdb/src/persistence_reality.rs +0 -566
- package/dist/create/server-source/crates/feltdb/src/phase1b_acceptance.rs +0 -3391
- package/dist/create/server-source/crates/feltdb/src/phase1c1_acceptance.rs +0 -203
- package/dist/create/server-source/crates/feltdb/src/phase1c2_acceptance.rs +0 -261
- package/dist/create/server-source/crates/feltdb/src/phase1c3_acceptance.rs +0 -502
- package/dist/create/server-source/crates/feltdb/src/phase1c_atomicity_proof.rs +0 -216
- package/dist/create/server-source/crates/feltdb/src/phase5_integration.rs +0 -303
- package/dist/create/server-source/crates/feltdb/src/phase5_scenarios.rs +0 -323
- package/dist/create/server-source/crates/feltdb/src/phase6_adversarial_scenarios.rs +0 -531
- package/dist/create/server-source/crates/feltdb/src/phase6_convergence_validator.rs +0 -406
- package/dist/create/server-source/crates/feltdb/src/phase6_persistence.rs +0 -436
- package/dist/create/server-source/crates/feltdb/src/phase_1c_real_tcp.rs +0 -387
- package/dist/create/server-source/crates/feltdb/src/phase_2a_failures.rs +0 -378
- package/dist/create/server-source/crates/feltdb/src/phase_2b_network.rs +0 -359
- package/dist/create/server-source/crates/feltdb/src/phase_2c_cascading.rs +0 -372
- package/dist/create/server-source/crates/feltdb/src/phase_3_durability.rs +0 -404
- package/dist/create/server-source/crates/feltdb/src/phase_4_baseline.rs +0 -376
- package/dist/create/server-source/crates/feltdb/src/phase_5_soak.rs +0 -461
- package/dist/create/server-source/crates/feltdb/src/policy_evaluation.rs +0 -2125
- package/dist/create/server-source/crates/feltdb/src/production_api.rs +0 -418
- package/dist/create/server-source/crates/feltdb/src/provenance.rs +0 -207
- package/dist/create/server-source/crates/feltdb/src/query_execution_diagnostics.rs +0 -126
- package/dist/create/server-source/crates/feltdb/src/query_performance.rs +0 -218
- package/dist/create/server-source/crates/feltdb/src/read_basis.rs +0 -257
- package/dist/create/server-source/crates/feltdb/src/references.rs +0 -404
- package/dist/create/server-source/crates/feltdb/src/replay_fuzzing.rs +0 -401
- package/dist/create/server-source/crates/feltdb/src/replica_acknowledgements.rs +0 -501
- package/dist/create/server-source/crates/feltdb/src/replica_membership.rs +0 -680
- package/dist/create/server-source/crates/feltdb/src/replication_manager.rs +0 -163
- package/dist/create/server-source/crates/feltdb/src/replication_protocol.rs +0 -133
- package/dist/create/server-source/crates/feltdb/src/routing.rs +0 -409
- package/dist/create/server-source/crates/feltdb/src/semantic_decision.rs +0 -2029
- package/dist/create/server-source/crates/feltdb/src/semantic_query.rs +0 -599
- package/dist/create/server-source/crates/feltdb/src/sharding.rs +0 -549
- package/dist/create/server-source/crates/feltdb/src/state_conflict_contract.rs +0 -516
- package/dist/create/server-source/crates/feltdb/src/state_contract.rs +0 -5894
- package/dist/create/server-source/crates/feltdb/src/state_diff_contract.rs +0 -222
- package/dist/create/server-source/crates/feltdb/src/state_facade.rs +0 -320
- package/dist/create/server-source/crates/feltdb/src/state_hash.rs +0 -291
- package/dist/create/server-source/crates/feltdb/src/state_model.rs +0 -4158
- package/dist/create/server-source/crates/feltdb/src/state_transition_store.rs +0 -379
- package/dist/create/server-source/crates/feltdb/src/state_trigger.rs +0 -673
- package/dist/create/server-source/crates/feltdb/src/storage.rs +0 -273
- package/dist/create/server-source/crates/feltdb/src/submission.rs +0 -471
- package/dist/create/server-source/crates/feltdb/src/sync.rs +0 -495
- package/dist/create/server-source/crates/feltdb/src/sync_contract.rs +0 -822
- package/dist/create/server-source/crates/feltdb/src/tcp_transport.rs +0 -433
- package/dist/create/server-source/crates/feltdb/src/transaction_api.rs +0 -462
- package/dist/create/server-source/crates/feltdb/src/transaction_invariants.rs +0 -965
- package/dist/create/server-source/crates/feltdb/src/transaction_preconditions.rs +0 -1120
- package/dist/create/server-source/crates/feltdb/src/transactions.rs +0 -643
- package/dist/create/server-source/crates/feltdb/src/trigger.rs +0 -390
- package/dist/create/server-source/crates/feltdb/src/trigger_contract.rs +0 -749
- package/dist/create/server-source/crates/feltdb/src/versioned_object_substrate.rs +0 -708
- package/dist/create/server-source/crates/feltdb/src/worker_mesh.rs +0 -1133
- package/dist/create/server-source/crates/feltdb/src/workflow.rs +0 -713
- package/dist/create/server-source/crates/feltdb/src/workflow_acceptance_tests.rs +0 -510
- package/dist/create/server-source/crates/feltdb/src/workflow_integration.rs +0 -354
- package/dist/create/server-source/crates/feltdb/src/workflow_runtime.rs +0 -594
- package/dist/create/server-source/crates/feltdb/src/workload.rs +0 -2886
- package/dist/create/server-source/crates/feltdb/src/workload_diagnostics.rs +0 -456
- package/dist/create/server-source/crates/feltdb/tests/agent_state_native.rs +0 -1188
- package/dist/create/server-source/crates/feltdb/tests/agent_transition_contract_conformance.rs +0 -2884
- package/dist/create/server-source/crates/feltdb/tests/authority_process.rs +0 -297
- package/dist/create/server-source/crates/feltdb/tests/authority_transaction_identity.rs +0 -534
- package/dist/create/server-source/crates/feltdb/tests/bounded_read_contract.rs +0 -132
- package/dist/create/server-source/crates/feltdb/tests/branching_evidence.rs +0 -299
- package/dist/create/server-source/crates/feltdb/tests/common/mod.rs +0 -96
- package/dist/create/server-source/crates/feltdb/tests/compaction_stall_contract.rs +0 -272
- package/dist/create/server-source/crates/feltdb/tests/crash_durability_contract.rs +0 -467
- package/dist/create/server-source/crates/feltdb/tests/current_revision_authority_evidence.rs +0 -309
- package/dist/create/server-source/crates/feltdb/tests/durable_backup_contract.rs +0 -445
- package/dist/create/server-source/crates/feltdb/tests/durable_corruption_contract.rs +0 -518
- package/dist/create/server-source/crates/feltdb/tests/durable_format_compatibility.rs +0 -392
- package/dist/create/server-source/crates/feltdb/tests/feltdb_state_boundary_tests.rs +0 -850
- package/dist/create/server-source/crates/feltdb/tests/fixtures/agent_transition_corpus.json +0 -23340
- package/dist/create/server-source/crates/feltdb/tests/fixtures/state_conflict_contract_corpus.json +0 -1916
- package/dist/create/server-source/crates/feltdb/tests/fixtures/state_diff_contract_corpus.json +0 -1878
- package/dist/create/server-source/crates/feltdb/tests/fixtures/trigger_contract_corpus.json +0 -1862
- package/dist/create/server-source/crates/feltdb/tests/generalized_version_control_evidence.rs +0 -123
- package/dist/create/server-source/crates/feltdb/tests/generalized_version_control_substrate_completion.rs +0 -299
- package/dist/create/server-source/crates/feltdb/tests/local_process_ownership.rs +0 -69
- package/dist/create/server-source/crates/feltdb/tests/managed_incident_regression.rs +0 -191
- package/dist/create/server-source/crates/feltdb/tests/operational_health_contract.rs +0 -278
- package/dist/create/server-source/crates/feltdb/tests/pr34_query_collection.rs +0 -234
- package/dist/create/server-source/crates/feltdb/tests/pr35_equality_index.rs +0 -947
- package/dist/create/server-source/crates/feltdb/tests/pr7_self_authorization_proof.rs +0 -404
- package/dist/create/server-source/crates/feltdb/tests/pr8_vocabulary_assessment.rs +0 -916
- package/dist/create/server-source/crates/feltdb/tests/pr9_phase2_boundary_tests.rs +0 -1045
- package/dist/create/server-source/crates/feltdb/tests/pr9_phase3a_path_a_tests.rs +0 -347
- package/dist/create/server-source/crates/feltdb/tests/pr9_phase3c_authorized_mutations.rs +0 -361
- package/dist/create/server-source/crates/feltdb/tests/pr9_phase3c_role_based_authorization.rs +0 -330
- package/dist/create/server-source/crates/feltdb/tests/pr9_phase3c_simple_auth_delete.rs +0 -93
- package/dist/create/server-source/crates/feltdb/tests/pr9_phase3c_team_delete_role_authorization.rs +0 -622
- package/dist/create/server-source/crates/feltdb/tests/pr9_teams_role_based_access.rs +0 -517
- package/dist/create/server-source/crates/feltdb/tests/production_certification.rs +0 -1153
- package/dist/create/server-source/crates/feltdb/tests/production_contract.rs +0 -771
- package/dist/create/server-source/crates/feltdb/tests/production_readiness_contract.rs +0 -1383
- package/dist/create/server-source/crates/feltdb/tests/reconciliation_application.rs +0 -868
- package/dist/create/server-source/crates/feltdb/tests/reconciliation_wire_format_evidence.rs +0 -221
- package/dist/create/server-source/crates/feltdb/tests/replicated_history_contract.rs +0 -417
- package/dist/create/server-source/crates/feltdb/tests/resource_scoped_revisions.rs +0 -338
- package/dist/create/server-source/crates/feltdb/tests/revision_identity_contract.rs +0 -1039
- package/dist/create/server-source/crates/feltdb/tests/revision_model_decision.rs +0 -739
- package/dist/create/server-source/crates/feltdb/tests/revision_retention_boundary_evidence.rs +0 -452
- package/dist/create/server-source/crates/feltdb/tests/saas_authorization_integration.rs +0 -81
- package/dist/create/server-source/crates/feltdb/tests/saas_invitation_lifecycle.rs +0 -438
- package/dist/create/server-source/crates/feltdb/tests/semantic_decision.rs +0 -1165
- package/dist/create/server-source/crates/feltdb/tests/semantic_query.rs +0 -767
- package/dist/create/server-source/crates/feltdb/tests/semantic_query_contract.rs +0 -363
- package/dist/create/server-source/crates/feltdb/tests/state_conflict_contract_conformance.rs +0 -1799
- package/dist/create/server-source/crates/feltdb/tests/state_diff_contract_conformance.rs +0 -1316
- package/dist/create/server-source/crates/feltdb/tests/state_model_integration.rs +0 -358
- package/dist/create/server-source/crates/feltdb/tests/state_persistence_integration.rs +0 -365
- package/dist/create/server-source/crates/feltdb/tests/state_ref_authority.rs +0 -918
- package/dist/create/server-source/crates/feltdb/tests/state_store_boundary_evidence.rs +0 -299
- package/dist/create/server-source/crates/feltdb/tests/storage_independent_versioned_object_substrate.rs +0 -328
- package/dist/create/server-source/crates/feltdb/tests/sync_divergence_evidence.rs +0 -255
- package/dist/create/server-source/crates/feltdb/tests/three_way_input_boundary_evidence.rs +0 -249
- package/dist/create/server-source/crates/feltdb/tests/trigger_contract_conformance.rs +0 -994
- package/dist/create/server-source/crates/feltdb/tests/workload_envelope_contract.rs +0 -484
- package/dist/studio-app/assets/feltdb_wasm_bg-CFQT4gCy.wasm +0 -0
- package/dist/studio-app/assets/index-Dql1hS5m.js +0 -30
package/dist/agent-state.js
CHANGED
|
@@ -32,6 +32,13 @@ export const FELTDB_AGENT_CHECKPOINT_COLLECTION = '_feltdb.AgentCheckpoint';
|
|
|
32
32
|
export const FELTDB_AGENT_MEMORY_COLLECTION = '_feltdb.AgentMemory';
|
|
33
33
|
export const FELTDB_AGENT_HANDOFF_COLLECTION = '_feltdb.AgentHandoff';
|
|
34
34
|
export const AGENT_CONTEXT_FORMAT = 'feltdb.agent-context@1';
|
|
35
|
+
/**
|
|
36
|
+
* Index keys written beside every task head so `listTasks` can filter by
|
|
37
|
+
* project with an equality prefix. Derived from `scope.project` and `status`
|
|
38
|
+
* on every task write; never returned as part of an `AgentTask`.
|
|
39
|
+
*/
|
|
40
|
+
const TASK_PROJECT_FIELD = 'list_project';
|
|
41
|
+
const TASK_STATUS_PROJECT_FIELD = 'list_status_project';
|
|
35
42
|
/** Compound indexes every agent-state query is planned against. */
|
|
36
43
|
export const AGENT_STATE_INDEXES = [
|
|
37
44
|
{
|
|
@@ -54,9 +61,109 @@ export const AGENT_STATE_INDEXES = [
|
|
|
54
61
|
persistent: true,
|
|
55
62
|
},
|
|
56
63
|
},
|
|
64
|
+
// listTasks: one index per filter shape, each led by a distinct field, so
|
|
65
|
+
// every shape has exactly one compatible plan and none is a residual filter.
|
|
66
|
+
{
|
|
67
|
+
collection: FELTDB_AGENT_TASK_COLLECTION,
|
|
68
|
+
index: {
|
|
69
|
+
name: 'agent_tasks_by_updated',
|
|
70
|
+
type: 'compound',
|
|
71
|
+
fields: ['updated_at', 'id'],
|
|
72
|
+
directions: ['desc', 'asc'],
|
|
73
|
+
persistent: true,
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
collection: FELTDB_AGENT_TASK_COLLECTION,
|
|
78
|
+
index: {
|
|
79
|
+
name: 'agent_tasks_by_status_updated',
|
|
80
|
+
type: 'compound',
|
|
81
|
+
fields: ['status', 'updated_at', 'id'],
|
|
82
|
+
directions: ['asc', 'desc', 'asc'],
|
|
83
|
+
persistent: true,
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
collection: FELTDB_AGENT_TASK_COLLECTION,
|
|
88
|
+
index: {
|
|
89
|
+
name: 'agent_tasks_by_project_updated',
|
|
90
|
+
type: 'compound',
|
|
91
|
+
fields: [TASK_PROJECT_FIELD, 'updated_at', 'id'],
|
|
92
|
+
directions: ['asc', 'desc', 'asc'],
|
|
93
|
+
persistent: true,
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
collection: FELTDB_AGENT_TASK_COLLECTION,
|
|
98
|
+
index: {
|
|
99
|
+
name: 'agent_tasks_by_status_project_updated',
|
|
100
|
+
type: 'compound',
|
|
101
|
+
fields: [TASK_STATUS_PROJECT_FIELD, 'updated_at', 'id'],
|
|
102
|
+
directions: ['asc', 'desc', 'asc'],
|
|
103
|
+
persistent: true,
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
// listHandoffs
|
|
107
|
+
{
|
|
108
|
+
collection: FELTDB_AGENT_HANDOFF_COLLECTION,
|
|
109
|
+
index: {
|
|
110
|
+
name: 'agent_handoffs_by_created',
|
|
111
|
+
type: 'compound',
|
|
112
|
+
fields: ['created_at', 'id'],
|
|
113
|
+
directions: ['desc', 'asc'],
|
|
114
|
+
persistent: true,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
collection: FELTDB_AGENT_HANDOFF_COLLECTION,
|
|
119
|
+
index: {
|
|
120
|
+
name: 'agent_handoffs_by_status_created',
|
|
121
|
+
type: 'compound',
|
|
122
|
+
fields: ['status', 'created_at', 'id'],
|
|
123
|
+
directions: ['asc', 'desc', 'asc'],
|
|
124
|
+
persistent: true,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
57
127
|
];
|
|
128
|
+
/**
|
|
129
|
+
* The application-contract entries for agent state.
|
|
130
|
+
*
|
|
131
|
+
* An application-scoped authority (Managed FeltDB) stores only collections and
|
|
132
|
+
* fields its promoted contract declares, so an application that opens agent
|
|
133
|
+
* state there declares these entries in its contract beside its own, unchanged:
|
|
134
|
+
* `{ collections: [...mine, ...FELTDB_AGENT_STATE_CONTRACT.collections],
|
|
135
|
+
* indexes: [...myIndexes, ...FELTDB_AGENT_STATE_CONTRACT.indexes] }`.
|
|
136
|
+
* Policies stay the application's decision. The record shapes are FeltDB's and
|
|
137
|
+
* move with it; a test checks that every field agent state writes is declared.
|
|
138
|
+
*/
|
|
139
|
+
export const FELTDB_AGENT_STATE_CONTRACT = (() => {
|
|
140
|
+
const field = (spec) => {
|
|
141
|
+
const [name, type] = spec.split(':');
|
|
142
|
+
return name === 'id'
|
|
143
|
+
? { name, type: 'text', required: true, nullable: false }
|
|
144
|
+
: { name, type, required: false, nullable: true };
|
|
145
|
+
};
|
|
146
|
+
const collection = (name, fields) => ({ name, fields: fields.trim().split(/\s+/).map(field) });
|
|
147
|
+
return Object.freeze({
|
|
148
|
+
collections: Object.freeze([
|
|
149
|
+
collection(FELTDB_AGENT_TASK_COLLECTION, `id:text task_id:text objective:text scope:json status:text owner:text
|
|
150
|
+
checkpoint_version:integer pending_work:json constraints:json created_at:text created_by:text updated_at:text
|
|
151
|
+
updated_by:text ${TASK_PROJECT_FIELD}:text ${TASK_STATUS_PROJECT_FIELD}:text`),
|
|
152
|
+
collection(FELTDB_AGENT_CHECKPOINT_COLLECTION, `id:text checkpoint_id:text task_id:text version:integer status:text
|
|
153
|
+
summary:text completed:json completed_work:json pending_work:json constraints:json decisions:json evidence:json
|
|
154
|
+
actor:text execution:json created_at:text`),
|
|
155
|
+
collection(FELTDB_AGENT_MEMORY_COLLECTION, `id:text memory_id:text scope:json scope_key:text kind:text content:json
|
|
156
|
+
source:json status:text supersedes:text superseded_by:text invalidated_reason:text created_at:text updated_at:text`),
|
|
157
|
+
collection(FELTDB_AGENT_HANDOFF_COLLECTION, `id:text handoff_id:text task_id:text checkpoint_version:integer from:text
|
|
158
|
+
to:text note:text memory_refs:json evidence_refs:json artifact_refs:json status:text lease:json claim:json
|
|
159
|
+
accepted_by:text accepted_at:text created_at:text updated_at:text`),
|
|
160
|
+
]),
|
|
161
|
+
indexes: Object.freeze(AGENT_STATE_INDEXES.map(({ collection, index }) => ({ name: index.name, collection, fields: [...(index.fields ?? [])] }))),
|
|
162
|
+
});
|
|
163
|
+
})();
|
|
58
164
|
const TASK_STATUSES = ['ready', 'running', 'blocked', 'completed', 'cancelled'];
|
|
59
165
|
const TERMINAL = ['completed', 'cancelled'];
|
|
166
|
+
const HANDOFF_STATUSES = ['open', 'claimed', 'accepted'];
|
|
60
167
|
/** Every refusal. A refused write committed nothing. */
|
|
61
168
|
export class AgentStateError extends Error {
|
|
62
169
|
code;
|
|
@@ -150,6 +257,26 @@ function strip(row) {
|
|
|
150
257
|
const { id: _id, __version, ...rest } = row;
|
|
151
258
|
return { ...rest, revision: typeof __version === 'number' ? __version : 1 };
|
|
152
259
|
}
|
|
260
|
+
/** A task row without its derived index keys. */
|
|
261
|
+
function toTask(row) {
|
|
262
|
+
const { [TASK_PROJECT_FIELD]: _project, [TASK_STATUS_PROJECT_FIELD]: _statusProject, ...task } = strip(row);
|
|
263
|
+
return task;
|
|
264
|
+
}
|
|
265
|
+
/** A task head as written: the task plus the index keys `listTasks` filters on. */
|
|
266
|
+
function taskHead(task) {
|
|
267
|
+
const project = task.scope?.project;
|
|
268
|
+
return {
|
|
269
|
+
...task,
|
|
270
|
+
...(project === undefined ? {} : {
|
|
271
|
+
[TASK_PROJECT_FIELD]: project,
|
|
272
|
+
[TASK_STATUS_PROJECT_FIELD]: statusProjectKey(task.status, project),
|
|
273
|
+
}),
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
function statusProjectKey(status, project) {
|
|
277
|
+
// A status never contains '|', so the first '|' separates the two.
|
|
278
|
+
return `${status}|${project}`;
|
|
279
|
+
}
|
|
153
280
|
function version(row) {
|
|
154
281
|
return typeof row.__version === 'number' ? row.__version : 1;
|
|
155
282
|
}
|
|
@@ -270,7 +397,7 @@ export class AgentStateStore {
|
|
|
270
397
|
};
|
|
271
398
|
try {
|
|
272
399
|
await this.db.transaction(tx => {
|
|
273
|
-
tx.collection(FELTDB_AGENT_TASK_COLLECTION).set(taskId, task, { requireAbsent: true });
|
|
400
|
+
tx.collection(FELTDB_AGENT_TASK_COLLECTION).set(taskId, taskHead(task), { requireAbsent: true });
|
|
274
401
|
tx.collection(FELTDB_AGENT_CHECKPOINT_COLLECTION).set(checkpoint.checkpoint_id, checkpoint, { requireAbsent: true });
|
|
275
402
|
});
|
|
276
403
|
}
|
|
@@ -286,7 +413,7 @@ export class AgentStateStore {
|
|
|
286
413
|
const row = await this.taskRow(identifier(taskId, 'taskId'));
|
|
287
414
|
if (!row)
|
|
288
415
|
return null;
|
|
289
|
-
const task =
|
|
416
|
+
const task = toTask(row);
|
|
290
417
|
const checkpoint = await this.getCheckpoint(task.task_id, task.checkpoint_version);
|
|
291
418
|
if (!checkpoint) {
|
|
292
419
|
throw fail('NOT_FOUND', `task ${taskId} names checkpoint ${task.checkpoint_version}, which is not committed`);
|
|
@@ -300,6 +427,30 @@ export class AgentStateStore {
|
|
|
300
427
|
const { revision: _revision, ...checkpoint } = strip(row);
|
|
301
428
|
return checkpoint;
|
|
302
429
|
}
|
|
430
|
+
/**
|
|
431
|
+
* One bounded page of tasks, most recently updated first (ties by task id),
|
|
432
|
+
* optionally narrowed to a status and/or a project.
|
|
433
|
+
*
|
|
434
|
+
* Every filter shape is answered by one declared compound index with an
|
|
435
|
+
* equality prefix; nothing reads the whole collection. Continue with
|
|
436
|
+
* `cursor: page.nextCursor` and the same filters.
|
|
437
|
+
*/
|
|
438
|
+
async listTasks(input = {}) {
|
|
439
|
+
if (input.status !== undefined && !TASK_STATUSES.includes(input.status)) {
|
|
440
|
+
throw fail('INVALID_REQUEST', `status must be one of ${TASK_STATUSES.join(', ')}`);
|
|
441
|
+
}
|
|
442
|
+
const project = input.project === undefined ? undefined : name(input.project, 'project');
|
|
443
|
+
const where = project === undefined
|
|
444
|
+
? (input.status === undefined ? [] : [{ field: 'status', eq: input.status }])
|
|
445
|
+
: input.status === undefined
|
|
446
|
+
? [{ field: TASK_PROJECT_FIELD, eq: project }]
|
|
447
|
+
: [{ field: TASK_STATUS_PROJECT_FIELD, eq: statusProjectKey(input.status, project) }];
|
|
448
|
+
const page = await this.page(FELTDB_AGENT_TASK_COLLECTION, where, 'updated_at', input.limit, input.cursor);
|
|
449
|
+
return {
|
|
450
|
+
tasks: page.records.map(toTask),
|
|
451
|
+
...(page.nextCursor ? { nextCursor: page.nextCursor } : {}),
|
|
452
|
+
};
|
|
453
|
+
}
|
|
303
454
|
/**
|
|
304
455
|
* Commit checkpoint N+1 atomically with the task head.
|
|
305
456
|
*
|
|
@@ -323,7 +474,7 @@ export class AgentStateStore {
|
|
|
323
474
|
throw fail('INVALID_REQUEST', `evidence must be an array of at most ${LIST_LIMIT} references`);
|
|
324
475
|
}
|
|
325
476
|
const row = await this.requireTask(id);
|
|
326
|
-
const task =
|
|
477
|
+
const task = toTask(row);
|
|
327
478
|
if (input.expectedVersion !== undefined && input.expectedVersion !== task.checkpoint_version) {
|
|
328
479
|
throw fail('VERSION_CONFLICT', `task ${id} is at checkpoint ${task.checkpoint_version}, not ${input.expectedVersion}`, {
|
|
329
480
|
expected: input.expectedVersion, current: task.checkpoint_version,
|
|
@@ -369,7 +520,7 @@ export class AgentStateStore {
|
|
|
369
520
|
};
|
|
370
521
|
try {
|
|
371
522
|
await this.db.transaction(tx => {
|
|
372
|
-
tx.collection(FELTDB_AGENT_TASK_COLLECTION).set(id, head, { ifVersion: version(row) });
|
|
523
|
+
tx.collection(FELTDB_AGENT_TASK_COLLECTION).set(id, taskHead(head), { ifVersion: version(row) });
|
|
373
524
|
tx.collection(FELTDB_AGENT_CHECKPOINT_COLLECTION).set(next.checkpoint_id, next, { requireAbsent: true });
|
|
374
525
|
for (const entry of cited) {
|
|
375
526
|
if (entry.evidence.kind === 'record') {
|
|
@@ -400,7 +551,7 @@ export class AgentStateStore {
|
|
|
400
551
|
*/
|
|
401
552
|
async resume(taskId, input) {
|
|
402
553
|
const row = await this.requireTask(identifier(taskId, 'taskId'));
|
|
403
|
-
this.assertOwner(
|
|
554
|
+
this.assertOwner(toTask(row), name(input.actor, 'actor'));
|
|
404
555
|
return this.assembleContext(taskId, input);
|
|
405
556
|
}
|
|
406
557
|
// --------------------------------------------------------------- memory
|
|
@@ -414,7 +565,7 @@ export class AgentStateStore {
|
|
|
414
565
|
const scopeKey = memoryScopeKey(scope);
|
|
415
566
|
if (taskId || scope.kind === 'task') {
|
|
416
567
|
const owningTask = taskId ?? scope.taskId;
|
|
417
|
-
const task =
|
|
568
|
+
const task = toTask(await this.requireTask(owningTask));
|
|
418
569
|
if (scope.kind === 'task' && scope.taskId !== task.task_id) {
|
|
419
570
|
throw fail('INVALID_REQUEST', `memory for task ${task.task_id} cannot be written to task scope ${scope.taskId}`);
|
|
420
571
|
}
|
|
@@ -481,7 +632,7 @@ export class AgentStateStore {
|
|
|
481
632
|
* its workspace. A memory scoped to another task is never returned.
|
|
482
633
|
*/
|
|
483
634
|
async recallForTask(taskId, input = {}) {
|
|
484
|
-
const task =
|
|
635
|
+
const task = toTask(await this.requireTask(identifier(taskId, 'taskId')));
|
|
485
636
|
const limit = boundedLimit(input.limit, 20, 100);
|
|
486
637
|
const scopes = [
|
|
487
638
|
{ kind: 'task', taskId: task.task_id },
|
|
@@ -572,7 +723,7 @@ export class AgentStateStore {
|
|
|
572
723
|
const actor = name(input.actor, 'actor');
|
|
573
724
|
const to = input.to === undefined ? undefined : name(input.to, 'to');
|
|
574
725
|
const row = await this.requireTask(id);
|
|
575
|
-
const task =
|
|
726
|
+
const task = toTask(row);
|
|
576
727
|
this.assertOwner(task, actor);
|
|
577
728
|
if (TERMINAL.includes(task.status))
|
|
578
729
|
throw fail('INVALID_TRANSITION', `task ${id} is ${task.status}; it cannot be handed off`);
|
|
@@ -633,12 +784,34 @@ export class AgentStateStore {
|
|
|
633
784
|
}
|
|
634
785
|
return resolveHandoff({ ...record, revision: 1 }, task, checkpoint);
|
|
635
786
|
}
|
|
787
|
+
/**
|
|
788
|
+
* One bounded page of handoff records, newest first (ties by handoff id).
|
|
789
|
+
* `open: true` lists the handoffs nobody has claimed yet. Indexed; never a
|
|
790
|
+
* collection scan.
|
|
791
|
+
*/
|
|
792
|
+
async listHandoffs(input = {}) {
|
|
793
|
+
if (input.open === false) {
|
|
794
|
+
throw fail('INVALID_REQUEST', "open: false is ambiguous; pass status: 'claimed' or 'accepted'");
|
|
795
|
+
}
|
|
796
|
+
if (input.status !== undefined && !HANDOFF_STATUSES.includes(input.status)) {
|
|
797
|
+
throw fail('INVALID_REQUEST', `status must be one of ${HANDOFF_STATUSES.join(', ')}`);
|
|
798
|
+
}
|
|
799
|
+
if (input.open && input.status !== undefined && input.status !== 'open') {
|
|
800
|
+
throw fail('INVALID_REQUEST', `open: true contradicts status: '${input.status}'`);
|
|
801
|
+
}
|
|
802
|
+
const status = input.open ? 'open' : input.status;
|
|
803
|
+
const page = await this.page(FELTDB_AGENT_HANDOFF_COLLECTION, status === undefined ? [] : [{ field: 'status', eq: status }], 'created_at', input.limit, input.cursor);
|
|
804
|
+
return {
|
|
805
|
+
handoffs: page.records.map(row => strip(row)),
|
|
806
|
+
...(page.nextCursor ? { nextCursor: page.nextCursor } : {}),
|
|
807
|
+
};
|
|
808
|
+
}
|
|
636
809
|
async getHandoff(handoffId) {
|
|
637
810
|
const row = await this.db.collection(FELTDB_AGENT_HANDOFF_COLLECTION).get(identifier(handoffId, 'handoffId', 128));
|
|
638
811
|
if (!row)
|
|
639
812
|
return null;
|
|
640
813
|
const record = strip(row);
|
|
641
|
-
const task =
|
|
814
|
+
const task = toTask(await this.requireTask(record.task_id));
|
|
642
815
|
const checkpoint = await this.getCheckpoint(record.task_id, record.checkpoint_version);
|
|
643
816
|
if (!checkpoint)
|
|
644
817
|
throw fail('NOT_FOUND', `handoff ${handoffId} references checkpoint ${record.checkpoint_version}, which is not committed`);
|
|
@@ -664,7 +837,7 @@ export class AgentStateStore {
|
|
|
664
837
|
const first = await handoffs.get(id);
|
|
665
838
|
if (!first)
|
|
666
839
|
throw fail('NOT_FOUND', `handoff ${id} does not exist`);
|
|
667
|
-
const task =
|
|
840
|
+
const task = toTask(await this.requireTask(strip(first).task_id));
|
|
668
841
|
// Decide on a handoff read taken after the task read. A claim commits both
|
|
669
842
|
// records together, so this pair can never show a claimed task beside an
|
|
670
843
|
// open handoff, which would misreport a lost race as a stale handoff.
|
|
@@ -710,7 +883,7 @@ export class AgentStateStore {
|
|
|
710
883
|
try {
|
|
711
884
|
await this.db.transaction(tx => {
|
|
712
885
|
tx.collection(FELTDB_AGENT_HANDOFF_COLLECTION).set(id, claimed, { ifVersion: handoff.revision });
|
|
713
|
-
tx.collection(FELTDB_AGENT_TASK_COLLECTION).set(task.task_id, head, { ifVersion: task.revision });
|
|
886
|
+
tx.collection(FELTDB_AGENT_TASK_COLLECTION).set(task.task_id, taskHead(head), { ifVersion: task.revision });
|
|
714
887
|
});
|
|
715
888
|
}
|
|
716
889
|
catch (error) {
|
|
@@ -760,7 +933,7 @@ export class AgentStateStore {
|
|
|
760
933
|
}
|
|
761
934
|
throw error;
|
|
762
935
|
}
|
|
763
|
-
const task =
|
|
936
|
+
const task = toTask(await this.requireTask(handoff.task_id));
|
|
764
937
|
return this.resolveRecord({ ...accepted, revision: handoff.revision + 1 }, task);
|
|
765
938
|
}
|
|
766
939
|
// -------------------------------------------------------------- context
|
|
@@ -894,6 +1067,31 @@ export class AgentStateStore {
|
|
|
894
1067
|
return bundle;
|
|
895
1068
|
}
|
|
896
1069
|
// ------------------------------------------------------------- internal
|
|
1070
|
+
async page(collection, where, newestFirst, limit, cursor) {
|
|
1071
|
+
if (cursor !== undefined && (typeof cursor !== 'string' || !cursor)) {
|
|
1072
|
+
throw fail('INVALID_REQUEST', 'cursor must be the nextCursor of a previous page');
|
|
1073
|
+
}
|
|
1074
|
+
let page;
|
|
1075
|
+
try {
|
|
1076
|
+
page = await this.db.query({
|
|
1077
|
+
collection,
|
|
1078
|
+
...(where.length ? { where } : {}),
|
|
1079
|
+
orderBy: [{ field: newestFirst, direction: 'desc' }],
|
|
1080
|
+
limit: boundedLimit(limit, 50, 1_000),
|
|
1081
|
+
...(cursor ? { cursor } : {}),
|
|
1082
|
+
});
|
|
1083
|
+
}
|
|
1084
|
+
catch (error) {
|
|
1085
|
+
if (/INVALID_CURSOR/.test(error instanceof Error ? error.message : String(error))) {
|
|
1086
|
+
throw fail('INVALID_REQUEST', 'cursor does not belong to this query; pass the nextCursor of a page with the same filters');
|
|
1087
|
+
}
|
|
1088
|
+
throw error;
|
|
1089
|
+
}
|
|
1090
|
+
return {
|
|
1091
|
+
records: page.records,
|
|
1092
|
+
...(page.nextCursor && !page.exhausted ? { nextCursor: page.nextCursor } : {}),
|
|
1093
|
+
};
|
|
1094
|
+
}
|
|
897
1095
|
async taskRow(taskId) {
|
|
898
1096
|
return this.db.collection(FELTDB_AGENT_TASK_COLLECTION).get(taskId);
|
|
899
1097
|
}
|
package/dist/agent.d.ts
CHANGED
|
@@ -19,7 +19,11 @@ export interface AgentRef {
|
|
|
19
19
|
toString(): string;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
* Lifecycle states for agent execution
|
|
22
|
+
* Lifecycle states for agent execution.
|
|
23
|
+
*
|
|
24
|
+
* `Completed`, `Failed` and `Cancelled` are terminal. `Cancelled` is reachable
|
|
25
|
+
* from every non-terminal state, through `AgentRuntime.cancel` or
|
|
26
|
+
* `transition(execution, Cancelled)`.
|
|
23
27
|
*/
|
|
24
28
|
export declare enum AgentExecutionStatus {
|
|
25
29
|
Created = "Created",
|
|
@@ -113,6 +117,10 @@ export interface AgentExecution {
|
|
|
113
117
|
completedMs?: number;
|
|
114
118
|
/** Optional error message if execution failed */
|
|
115
119
|
error?: string;
|
|
120
|
+
/** The agent-state task this execution works on, when it was created for one. */
|
|
121
|
+
taskId?: string;
|
|
122
|
+
/** Why the execution was cancelled (status `Cancelled`). */
|
|
123
|
+
cancelReason?: string;
|
|
116
124
|
/** Metadata about the execution */
|
|
117
125
|
metadata?: Record<string, any>;
|
|
118
126
|
}
|
|
@@ -120,6 +128,7 @@ export interface AgentExecution {
|
|
|
120
128
|
* Parse an agent reference from its canonical form
|
|
121
129
|
* @example parseAgentRef("flow://agent/researcher@1")
|
|
122
130
|
*/
|
|
131
|
+
export declare const AGENT_EXECUTION_TERMINAL_STATUSES: readonly AgentExecutionStatus[];
|
|
123
132
|
export declare function parseAgentRef(ref: string): AgentRef;
|
|
124
133
|
/**
|
|
125
134
|
* Create an agent reference
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAEhB,0BAA0B;IAC1B,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
* of the same causal graph.
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
|
-
* Lifecycle states for agent execution
|
|
9
|
+
* Lifecycle states for agent execution.
|
|
10
|
+
*
|
|
11
|
+
* `Completed`, `Failed` and `Cancelled` are terminal. `Cancelled` is reachable
|
|
12
|
+
* from every non-terminal state, through `AgentRuntime.cancel` or
|
|
13
|
+
* `transition(execution, Cancelled)`.
|
|
10
14
|
*/
|
|
11
15
|
export var AgentExecutionStatus;
|
|
12
16
|
(function (AgentExecutionStatus) {
|
|
@@ -25,6 +29,11 @@ export var AgentExecutionStatus;
|
|
|
25
29
|
* Parse an agent reference from its canonical form
|
|
26
30
|
* @example parseAgentRef("flow://agent/researcher@1")
|
|
27
31
|
*/
|
|
32
|
+
export const AGENT_EXECUTION_TERMINAL_STATUSES = [
|
|
33
|
+
AgentExecutionStatus.Completed,
|
|
34
|
+
AgentExecutionStatus.Failed,
|
|
35
|
+
AgentExecutionStatus.Cancelled,
|
|
36
|
+
];
|
|
28
37
|
export function parseAgentRef(ref) {
|
|
29
38
|
const match = ref.match(/^flow:\/\/agent\/([^@]+)@(\d+)$/);
|
|
30
39
|
if (!match) {
|
package/dist/build-identity.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "feltdb.build-identity.v2",
|
|
3
3
|
"package": "@feltdb/core",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.16.0",
|
|
5
5
|
"git": {
|
|
6
|
-
"sha1": "
|
|
6
|
+
"sha1": "2433b73d6e643c8476de7e3364350af0230f47be",
|
|
7
7
|
"dirty": false
|
|
8
8
|
},
|
|
9
9
|
"path_in_vcs": "packages/core",
|
|
10
|
-
"source_digest": "sha256:
|
|
10
|
+
"source_digest": "sha256:8bc6dd69a986ac9db9b709570851ebbdf8cdd9ecf2f61e60d21bb8b5c5f1ed9e",
|
|
11
11
|
"inputs": [
|
|
12
12
|
"Cargo.lock",
|
|
13
13
|
"Cargo.toml",
|
|
@@ -20,7 +20,15 @@
|
|
|
20
20
|
"tools/cli",
|
|
21
21
|
"tools/create-feltdb"
|
|
22
22
|
],
|
|
23
|
-
"files":
|
|
23
|
+
"files": 792,
|
|
24
|
+
"release": {
|
|
25
|
+
"tag": "v0.16.0",
|
|
26
|
+
"ref": "main",
|
|
27
|
+
"origin_main": {
|
|
28
|
+
"sha1": "2433b73d6e643c8476de7e3364350af0230f47be",
|
|
29
|
+
"contains_commit": true
|
|
30
|
+
}
|
|
31
|
+
},
|
|
24
32
|
"build": {
|
|
25
33
|
"command": "npm run build",
|
|
26
34
|
"node": "v24.9.0"
|