parse-stack-next 5.0.0 → 5.1.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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.bundle/config +2 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +105 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.yml +67 -0
  5. data/.github/dependabot.yml +13 -0
  6. data/.github/workflows/codeql.yml +1 -1
  7. data/.github/workflows/docs.yml +3 -3
  8. data/.github/workflows/release.yml +43 -0
  9. data/.github/workflows/ruby.yml +1 -1
  10. data/.gitignore +1 -0
  11. data/.vscode/settings.json +3 -0
  12. data/.yardopts +19 -0
  13. data/CHANGELOG.md +802 -0
  14. data/Gemfile +3 -0
  15. data/Gemfile.lock +8 -5
  16. data/README.md +16 -1
  17. data/Rakefile +5 -1
  18. data/docs/acl_clp_guide.md +553 -0
  19. data/docs/atlas_vector_search_guide.md +123 -22
  20. data/docs/client_sdk_guide.md +201 -5
  21. data/docs/usage_guide.md +21 -0
  22. data/docs/yard-template/default/fulldoc/html/css/common.css +1222 -0
  23. data/docs/yard-template/default/fulldoc/html/css/full_list.css +387 -0
  24. data/lib/parse/agent/tools.rb +153 -1
  25. data/lib/parse/cache/pool.rb +15 -0
  26. data/lib/parse/cache/redis.rb +114 -2
  27. data/lib/parse/client/caching.rb +18 -1
  28. data/lib/parse/client.rb +79 -12
  29. data/lib/parse/embeddings/cohere.rb +143 -6
  30. data/lib/parse/embeddings/provider.rb +20 -2
  31. data/lib/parse/embeddings/voyage.rb +102 -0
  32. data/lib/parse/embeddings.rb +332 -1
  33. data/lib/parse/live_query/client.rb +167 -4
  34. data/lib/parse/live_query/configuration.rb +12 -0
  35. data/lib/parse/live_query/subscription.rb +55 -2
  36. data/lib/parse/live_query.rb +123 -1
  37. data/lib/parse/lock.rb +342 -0
  38. data/lib/parse/lock_backend.rb +308 -0
  39. data/lib/parse/model/classes/audience.rb +5 -0
  40. data/lib/parse/model/classes/installation.rb +122 -0
  41. data/lib/parse/model/classes/job_schedule.rb +3 -1
  42. data/lib/parse/model/classes/job_status.rb +4 -1
  43. data/lib/parse/model/classes/push_status.rb +4 -1
  44. data/lib/parse/model/classes/session.rb +7 -0
  45. data/lib/parse/model/classes/user.rb +204 -0
  46. data/lib/parse/model/core/create_lock.rb +28 -134
  47. data/lib/parse/model/core/embed_managed.rb +162 -13
  48. data/lib/parse/model/core/parse_reference.rb +17 -1
  49. data/lib/parse/model/core/querying.rb +26 -2
  50. data/lib/parse/model/file.rb +523 -18
  51. data/lib/parse/query.rb +31 -1
  52. data/lib/parse/stack/version.rb +1 -1
  53. data/lib/parse/stack.rb +98 -1
  54. data/parse-stack-next.gemspec +2 -2
  55. metadata +19 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 95fffb5091fe5273dd4a82cd2083362845f0622113b86db727d754d4d1c55f66
4
- data.tar.gz: 46f16ac282f1d9ba487b0638af7dfc9de82e5ae7f9e710e66280dfc52db56e10
3
+ metadata.gz: 772e66e343ad34518fc37221d1a838a54cccea2df2df768528d82ba47bfb5666
4
+ data.tar.gz: efcac9f096ddbbedf78c3305b15094567e3f6ab94092621c263ccd428191d1c4
5
5
  SHA512:
6
- metadata.gz: 68edaa682a0f92a59c66ce0500e08c99520443d41e28b5ff5486aed6a0e594ac6fb38c1a5939f5cada7f5ade2d489fd0ffe64d0a14e04a7738cdbde8a66c2e55
7
- data.tar.gz: 236e03357d93f02ca40692ed54ee074b6bff194f21e145e785305004c6e0767a1ec1b9e6e8d43d8f83d886fa41d469aac14b65096b1b8e29cced13ba60b4f865
6
+ metadata.gz: 0bb36aad589b3dbe9a447f199b817bf4af9db906a2691de3f92a655204dcfa67decf454c910b80b35269862db40dbc590ce82fe21656b91e197f6e1c59494397
7
+ data.tar.gz: 5829b94978f92be9ab13fce27b4803b9c28b780ce6071be47dd1187d2ee2aeed98eb44efc5ac2f553f8de8f508be454505c68f8a76d3921f2beda47b234eb406
data/.bundle/config CHANGED
@@ -1,2 +1,4 @@
1
1
  ---
2
2
  BUNDLE_FORCE_RUBY_PLATFORM: "true"
3
+ BUNDLE_PATH: "/home/runner/work/parse-stack-next/parse-stack-next/vendor/bundle"
4
+ BUNDLE_DEPLOYMENT: "true"
@@ -0,0 +1,105 @@
1
+ name: Bug report
2
+ description: Report a defect in parse-stack-next
3
+ title: "[Bug]: "
4
+ labels: ["bug", "triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for taking the time to file a bug report. Please fill out the sections below so we can reproduce and diagnose the issue quickly.
10
+
11
+ Before submitting, please search [existing issues](https://github.com/neurosynq/parse-stack-next/issues) to avoid duplicates.
12
+
13
+ - type: textarea
14
+ id: summary
15
+ attributes:
16
+ label: Summary
17
+ description: A clear and concise description of the bug.
18
+ placeholder: When I call `Parse::Query#results_direct` with ..., it raises ...
19
+ validations:
20
+ required: true
21
+
22
+ - type: textarea
23
+ id: reproduction
24
+ attributes:
25
+ label: Steps to reproduce
26
+ description: Minimal code sample or steps needed to reproduce the behavior.
27
+ render: ruby
28
+ placeholder: |
29
+ class Post < Parse::Object
30
+ property :title, :string
31
+ end
32
+
33
+ Post.query(title: "hello").results
34
+ validations:
35
+ required: true
36
+
37
+ - type: textarea
38
+ id: expected
39
+ attributes:
40
+ label: Expected behavior
41
+ description: What did you expect to happen?
42
+ validations:
43
+ required: true
44
+
45
+ - type: textarea
46
+ id: actual
47
+ attributes:
48
+ label: Actual behavior
49
+ description: What happened instead? Include full stack traces if applicable.
50
+ render: shell
51
+ validations:
52
+ required: true
53
+
54
+ - type: input
55
+ id: gem-version
56
+ attributes:
57
+ label: parse-stack-next version
58
+ placeholder: e.g. 5.0.0
59
+ validations:
60
+ required: true
61
+
62
+ - type: input
63
+ id: ruby-version
64
+ attributes:
65
+ label: Ruby version
66
+ placeholder: e.g. ruby 3.3.5
67
+ validations:
68
+ required: true
69
+
70
+ - type: input
71
+ id: parse-server-version
72
+ attributes:
73
+ label: Parse Server version
74
+ placeholder: e.g. 7.3.0
75
+ validations:
76
+ required: false
77
+
78
+ - type: input
79
+ id: mongodb-version
80
+ attributes:
81
+ label: MongoDB version
82
+ placeholder: e.g. 7.0 / Atlas
83
+ validations:
84
+ required: false
85
+
86
+ - type: dropdown
87
+ id: deployment
88
+ attributes:
89
+ label: Deployment
90
+ description: How is Parse Server / MongoDB hosted?
91
+ options:
92
+ - Self-hosted
93
+ - MongoDB Atlas
94
+ - Local Docker (scripts/docker/*)
95
+ - Other
96
+ validations:
97
+ required: false
98
+
99
+ - type: textarea
100
+ id: additional
101
+ attributes:
102
+ label: Additional context
103
+ description: Logs, screenshots, related issues, or anything else that may help.
104
+ validations:
105
+ required: false
@@ -0,0 +1,67 @@
1
+ name: Feature request
2
+ description: Suggest a new feature or enhancement for parse-stack-next
3
+ title: "[Feature]: "
4
+ labels: ["enhancement", "triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for proposing a new feature. Please describe the problem you're trying to solve before proposing a specific implementation.
10
+
11
+ - type: textarea
12
+ id: problem
13
+ attributes:
14
+ label: Problem
15
+ description: What problem are you trying to solve? What is the user-facing pain point?
16
+ placeholder: When working with ..., it's difficult to ... because ...
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ id: proposal
22
+ attributes:
23
+ label: Proposed solution
24
+ description: Describe the API, behavior, or capability you'd like to see.
25
+ render: ruby
26
+ placeholder: |
27
+ # Example of the proposed usage
28
+ Post.query.where(...).some_new_method(...)
29
+ validations:
30
+ required: true
31
+
32
+ - type: textarea
33
+ id: alternatives
34
+ attributes:
35
+ label: Alternatives considered
36
+ description: What workarounds or alternative designs have you considered?
37
+ validations:
38
+ required: false
39
+
40
+ - type: dropdown
41
+ id: area
42
+ attributes:
43
+ label: Area
44
+ description: Which part of the SDK does this affect?
45
+ options:
46
+ - Model / Properties
47
+ - Query
48
+ - Associations
49
+ - Schema / Migrations
50
+ - Client / HTTP
51
+ - ACL / CLP / Security
52
+ - Roles / Users
53
+ - Atlas Search
54
+ - MongoDB direct
55
+ - Webhooks / Cloud Code
56
+ - Documentation
57
+ - Other
58
+ validations:
59
+ required: false
60
+
61
+ - type: textarea
62
+ id: additional
63
+ attributes:
64
+ label: Additional context
65
+ description: Links to related issues, prior art in other libraries, references to Parse Server docs, etc.
66
+ validations:
67
+ required: false
@@ -0,0 +1,13 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: weekly
7
+ open-pull-requests-limit: 10
8
+
9
+ - package-ecosystem: github-actions
10
+ directory: "/"
11
+ schedule:
12
+ interval: weekly
13
+ open-pull-requests-limit: 5
@@ -29,7 +29,7 @@ jobs:
29
29
 
30
30
  steps:
31
31
  - name: Checkout repository
32
- uses: actions/checkout@v4
32
+ uses: actions/checkout@v6
33
33
 
34
34
  - name: Initialize CodeQL
35
35
  uses: github/codeql-action/init@v4
@@ -18,14 +18,14 @@ jobs:
18
18
  build:
19
19
  runs-on: ubuntu-latest
20
20
  steps:
21
- - uses: actions/checkout@v4
21
+ - uses: actions/checkout@v6
22
22
  - uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0
23
23
  with:
24
24
  ruby-version: '3.4'
25
25
  bundler-cache: true
26
26
  - name: Build YARD docs
27
27
  run: bundle exec rake yard
28
- - uses: actions/upload-pages-artifact@v3
28
+ - uses: actions/upload-pages-artifact@v5
29
29
  with:
30
30
  path: doc/parse-stack-next
31
31
  deploy:
@@ -36,4 +36,4 @@ jobs:
36
36
  url: ${{ steps.deployment.outputs.page_url }}
37
37
  steps:
38
38
  - id: deployment
39
- uses: actions/deploy-pages@v4
39
+ uses: actions/deploy-pages@v5
@@ -0,0 +1,43 @@
1
+ name: Release Gem
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ push:
10
+ name: Push to RubyGems
11
+ runs-on: ubuntu-latest
12
+ environment: rubygems
13
+ permissions:
14
+ id-token: write
15
+ contents: read
16
+ packages: write
17
+ steps:
18
+ - uses: actions/checkout@v6
19
+
20
+ # bundler-cache (next step) writes --local path / --local
21
+ # deployment into the tracked `.bundle/config`, which would leave
22
+ # the working tree dirty and trip `rake release`'s
23
+ # `release:guard_clean` check. Tell git to ignore worktree
24
+ # mutations to this file so guard_clean passes while still
25
+ # letting Bundler resolve vendor/bundle in the next step.
26
+ - run: git update-index --skip-worktree .bundle/config
27
+
28
+ - uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0
29
+ with:
30
+ ruby-version: "3.4"
31
+ bundler-cache: true
32
+
33
+ - uses: rubygems/release-gem@6317d8d1f7e28c24d28f6eff169ea854948bd9f7 # v1.2.0
34
+
35
+ # Mirror the same .gem to GitHub Packages. The previous step
36
+ # leaves the built artifact in pkg/parse-stack-next-X.Y.Z.gem
37
+ # (rake build's output dir). GitHub Packages auth uses the
38
+ # workflow's GITHUB_TOKEN as a Bearer credential via the
39
+ # GEM_HOST_API_KEY env var — no separate PAT needed.
40
+ - name: Push to GitHub Packages
41
+ env:
42
+ GEM_HOST_API_KEY: "Bearer ${{ secrets.GITHUB_TOKEN }}"
43
+ run: gem push --host "https://rubygems.pkg.github.com/${{ github.repository_owner }}" pkg/*.gem
@@ -25,7 +25,7 @@ jobs:
25
25
  ruby: ['3.2', '3.3', '3.4', '3.5']
26
26
  runs-on: ${{ matrix.os }}
27
27
  steps:
28
- - uses: actions/checkout@v4
28
+ - uses: actions/checkout@v6
29
29
  - name: Set up Ruby
30
30
  # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
31
31
  # change this to (see https://github.com/ruby/setup-ruby#versioning):
data/.gitignore CHANGED
@@ -51,3 +51,4 @@ logs
51
51
  !docs/usage_guide.md
52
52
  !SECURITY.md
53
53
  !docs/client_sdk_guide.md
54
+ !docs/acl_clp_guide.md
@@ -0,0 +1,3 @@
1
+ {
2
+ "makefile.configureOnOpen": false
3
+ }
data/.yardopts ADDED
@@ -0,0 +1,19 @@
1
+ --template-path docs/yard-template
2
+ --markup markdown
3
+ --markup-provider redcarpet
4
+ --readme README.md
5
+ --title "parse-stack-next API Reference"
6
+ --protected
7
+ --no-private
8
+ --hide-void-return
9
+ lib/**/*.rb
10
+ -
11
+ CHANGELOG.md
12
+ SECURITY.md
13
+ docs/acl_clp_guide.md
14
+ docs/client_sdk_guide.md
15
+ docs/usage_guide.md
16
+ docs/mcp_guide.md
17
+ docs/mongodb_direct_guide.md
18
+ docs/mongodb_index_optimization_guide.md
19
+ docs/atlas_vector_search_guide.md