parse-stack-next 5.1.1 → 5.2.1

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/.env.sample +12 -0
  3. data/.env.test +4 -4
  4. data/CHANGELOG.md +630 -0
  5. data/Gemfile +3 -0
  6. data/Gemfile.lock +6 -1
  7. data/README.md +226 -39
  8. data/Rakefile +56 -10
  9. data/docs/atlas_vector_search_guide.md +110 -9
  10. data/docs/mcp_guide.md +504 -0
  11. data/docs/mongodb_direct_guide.md +66 -1
  12. data/docs/mongodb_index_optimization_guide.md +22 -1
  13. data/docs/usage_guide.md +15 -0
  14. data/lib/parse/agent/approval_gate.rb +0 -0
  15. data/lib/parse/agent/constraint_translator.rb +90 -19
  16. data/lib/parse/agent/describe.rb +1 -0
  17. data/lib/parse/agent/errors.rb +16 -0
  18. data/lib/parse/agent/mcp_client.rb +9 -0
  19. data/lib/parse/agent/mcp_dispatcher.rb +139 -7
  20. data/lib/parse/agent/mcp_rack_app.rb +621 -17
  21. data/lib/parse/agent/mcp_subscriptions.rb +607 -0
  22. data/lib/parse/agent/metadata_dsl.rb +58 -0
  23. data/lib/parse/agent/metadata_registry.rb +141 -1
  24. data/lib/parse/agent/prompt_hardening.rb +213 -0
  25. data/lib/parse/agent/result_formatter.rb +18 -3
  26. data/lib/parse/agent/tools.rb +167 -24
  27. data/lib/parse/agent.rb +692 -21
  28. data/lib/parse/client/request.rb +55 -4
  29. data/lib/parse/client/response.rb +4 -0
  30. data/lib/parse/client.rb +205 -7
  31. data/lib/parse/model/classes/installation.rb +27 -10
  32. data/lib/parse/model/classes/user.rb +8 -0
  33. data/lib/parse/model/core/actions.rb +65 -13
  34. data/lib/parse/model/core/embed_managed.rb +19 -14
  35. data/lib/parse/model/core/indexing.rb +108 -16
  36. data/lib/parse/model/core/querying.rb +29 -0
  37. data/lib/parse/model/model.rb +34 -3
  38. data/lib/parse/model/object.rb +42 -0
  39. data/lib/parse/query.rb +90 -24
  40. data/lib/parse/retrieval/agent_tool.rb +369 -0
  41. data/lib/parse/retrieval/chunk.rb +74 -0
  42. data/lib/parse/retrieval/chunker.rb +208 -0
  43. data/lib/parse/retrieval/retriever.rb +274 -0
  44. data/lib/parse/retrieval.rb +10 -0
  45. data/lib/parse/schema.rb +69 -20
  46. data/lib/parse/stack/version.rb +2 -2
  47. data/lib/parse/webhooks/payload.rb +62 -34
  48. data/lib/parse/webhooks.rb +15 -3
  49. data/parse-stack-next.gemspec +1 -1
  50. data/scripts/docker/docker-compose.atlas.yml +14 -10
  51. data/scripts/docker/docker-compose.test.yml +24 -20
  52. data/scripts/docker/mongo-init.js +3 -3
  53. data/scripts/start-parse.sh +10 -0
  54. data/scripts/start_mcp_server.rb +1 -1
  55. data/scripts/test_server_connection.rb +1 -1
  56. data/scripts/vector_prototype/create_vector_index.js +1 -1
  57. data/scripts/vector_prototype/fetch_embeddings.py +2 -2
  58. data/scripts/vector_prototype/query_prototype.rb +1 -1
  59. data/scripts/vector_prototype/run.sh +4 -4
  60. metadata +10 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf1451bb2477254dffcd1758a04b44db981520e8662e34f077f34c58926b1c7b
4
- data.tar.gz: 07165f4c4106e3d6a27a5a0a3822efcb7e8e57f9953b5f1ba2c5a4ff2975e439
3
+ metadata.gz: 02b1de621aaff6ee9a80804b8cb961f18887ef1f6b0a45a38d4c7baa1861f9f7
4
+ data.tar.gz: d4ae4c20a3e7694d7162e091f5ec3a7dcff05399e352eceecb8dae2dc214c274
5
5
  SHA512:
6
- metadata.gz: 2fe51d5af265832b6b08053da792911b4c79db36e3dab1c3e1ec2383984c13354ee740c56587eca4a91081bdfddb0f73fe1d1cf14b5a33be85468836df95c181
7
- data.tar.gz: 1ad6fdd0ede5db83526730cc4ae103be228085cbf2ae3819431e6f11faae4cac6b66b037a81d20fc50e2b0c375eae70eb590647fc295543b6097079d8548d408
6
+ metadata.gz: 0cfcf6a2d6472788bc88b000acf11e81fd87b2cead5cae3f7b8e0021ad94172a1051d62cfc3e16fe3dd40086a2dd55f2a4aafa3b4abfdd443a9f4eec273b5656
7
+ data.tar.gz: 0bf1c5f83855416fd99473e69876c1f6906f2d6cefcc4891f1a67ab60ce92154483c0a49a31a0b0cbed2891a2cd976b0d7f7436f308633272ed2fc0c75dd0871
data/.env.sample CHANGED
@@ -38,6 +38,18 @@ PARSE_MASTER_KEY=myMasterKey
38
38
  # PARSE_LIVE_QUERY_URL=
39
39
  # HOOKS_URL=
40
40
 
41
+ # ===========================================================================
42
+ # Test harness — uses an ISOLATED stack (not the values above)
43
+ #
44
+ # The integration test suite does NOT connect with the defaults above. It runs
45
+ # on a deliberately isolated Docker stack — a private 29xxx host-port block, a
46
+ # dedicated Compose project `psnext-it`, and the `parse_stack_next_it` database
47
+ # — so it never collides with another Parse system on the same host. The full
48
+ # value set is listed in `.env.test` (a committed reference; nothing auto-loads
49
+ # it — source it or export the vars). The full port map and override variables
50
+ # are documented in the "Isolated test environment" section of CLAUDE.md.
51
+ # ===========================================================================
52
+
41
53
  # ===========================================================================
42
54
  # Webhooks
43
55
  # ===========================================================================
data/.env.test CHANGED
@@ -1,8 +1,8 @@
1
1
  # Parse Server Test Configuration
2
- PARSE_TEST_SERVER_URL=http://localhost:1337/parse
3
- PARSE_TEST_APP_ID=myAppId
4
- PARSE_TEST_API_KEY=test-rest-key
5
- PARSE_TEST_MASTER_KEY=myMasterKey
2
+ PARSE_TEST_SERVER_URL=http://localhost:29337/parse
3
+ PARSE_TEST_APP_ID=psnextItAppId
4
+ PARSE_TEST_API_KEY=psnext-it-rest-key
5
+ PARSE_TEST_MASTER_KEY=psnextItMasterKey
6
6
 
7
7
  # Docker Configuration
8
8
  PARSE_TEST_USE_DOCKER=true