parse-stack-next 5.0.1 → 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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.yml +105 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.yml +67 -0
  4. data/.github/dependabot.yml +13 -0
  5. data/.github/workflows/codeql.yml +1 -1
  6. data/.github/workflows/docs.yml +3 -3
  7. data/.github/workflows/release.yml +14 -3
  8. data/.github/workflows/ruby.yml +1 -1
  9. data/.gitignore +1 -0
  10. data/.yardopts +19 -0
  11. data/CHANGELOG.md +792 -0
  12. data/Gemfile +3 -0
  13. data/Gemfile.lock +8 -5
  14. data/README.md +15 -0
  15. data/Rakefile +5 -1
  16. data/docs/acl_clp_guide.md +553 -0
  17. data/docs/atlas_vector_search_guide.md +123 -22
  18. data/docs/client_sdk_guide.md +201 -5
  19. data/docs/usage_guide.md +21 -0
  20. data/docs/yard-template/default/fulldoc/html/css/common.css +1222 -0
  21. data/docs/yard-template/default/fulldoc/html/css/full_list.css +387 -0
  22. data/lib/parse/agent/tools.rb +153 -1
  23. data/lib/parse/cache/redis.rb +53 -0
  24. data/lib/parse/client/caching.rb +18 -1
  25. data/lib/parse/client.rb +79 -12
  26. data/lib/parse/embeddings/cohere.rb +143 -6
  27. data/lib/parse/embeddings/provider.rb +20 -2
  28. data/lib/parse/embeddings/voyage.rb +102 -0
  29. data/lib/parse/embeddings.rb +332 -1
  30. data/lib/parse/live_query/client.rb +167 -4
  31. data/lib/parse/live_query/configuration.rb +12 -0
  32. data/lib/parse/live_query/subscription.rb +55 -2
  33. data/lib/parse/live_query.rb +123 -1
  34. data/lib/parse/lock.rb +342 -0
  35. data/lib/parse/lock_backend.rb +308 -0
  36. data/lib/parse/model/classes/audience.rb +5 -0
  37. data/lib/parse/model/classes/installation.rb +122 -0
  38. data/lib/parse/model/classes/job_schedule.rb +3 -1
  39. data/lib/parse/model/classes/job_status.rb +4 -1
  40. data/lib/parse/model/classes/push_status.rb +4 -1
  41. data/lib/parse/model/classes/session.rb +7 -0
  42. data/lib/parse/model/classes/user.rb +204 -0
  43. data/lib/parse/model/core/create_lock.rb +28 -146
  44. data/lib/parse/model/core/embed_managed.rb +162 -13
  45. data/lib/parse/model/core/parse_reference.rb +17 -1
  46. data/lib/parse/model/core/querying.rb +26 -2
  47. data/lib/parse/model/file.rb +523 -18
  48. data/lib/parse/query.rb +31 -1
  49. data/lib/parse/stack/version.rb +1 -1
  50. data/lib/parse/stack.rb +98 -1
  51. data/parse-stack-next.gemspec +2 -2
  52. metadata +17 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa424fed1ae3d44678d301ca6fca95d383deda63edfcc645f1bfaafd030a24f3
4
- data.tar.gz: b96f56fea9dbbeb76650736bee52be70546c02180be8ead3ef0ef392c041884f
3
+ metadata.gz: 772e66e343ad34518fc37221d1a838a54cccea2df2df768528d82ba47bfb5666
4
+ data.tar.gz: efcac9f096ddbbedf78c3305b15094567e3f6ab94092621c263ccd428191d1c4
5
5
  SHA512:
6
- metadata.gz: 1c176aa65bd1694c281f2566e69a554ee2d80d090e69969ee5f26e093d11558bbbcbb6da052b9c56e3b9fe95e9c488657b570bb500bf0e5ed3b3cbd72e9f3da8
7
- data.tar.gz: 9895c24fdb645b06a1cb799da8ded92dc2a1cb5647d34ea5b0f0fd5bef849ff6768ec16098cb70c7b33a5a53f1773ea5487055f8ad1766ffecfe83a9964548d3
6
+ metadata.gz: 0bb36aad589b3dbe9a447f199b817bf4af9db906a2691de3f92a655204dcfa67decf454c910b80b35269862db40dbc590ce82fe21656b91e197f6e1c59494397
7
+ data.tar.gz: 5829b94978f92be9ab13fce27b4803b9c28b780ce6071be47dd1187d2ee2aeed98eb44efc5ac2f553f8de8f508be454505c68f8a76d3921f2beda47b234eb406
@@ -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
@@ -13,8 +13,9 @@ jobs:
13
13
  permissions:
14
14
  id-token: write
15
15
  contents: read
16
+ packages: write
16
17
  steps:
17
- - uses: actions/checkout@v4
18
+ - uses: actions/checkout@v6
18
19
 
19
20
  # bundler-cache (next step) writes --local path / --local
20
21
  # deployment into the tracked `.bundle/config`, which would leave
@@ -24,9 +25,19 @@ jobs:
24
25
  # letting Bundler resolve vendor/bundle in the next step.
25
26
  - run: git update-index --skip-worktree .bundle/config
26
27
 
27
- - uses: ruby/setup-ruby@v1
28
+ - uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0
28
29
  with:
29
30
  ruby-version: "3.4"
30
31
  bundler-cache: true
31
32
 
32
- - uses: rubygems/release-gem@v1
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
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