Skip to content

Commit 04f18c0

Browse files
authored
Merge pull request #5505 from grafana/dev
dev -> main
2 parents 7821ae7 + 2e2d7ce commit 04f18c0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+5827
-607
lines changed

.cursor/rules/planit-mode.mdc

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
description: A structured approach to task planning and execution for PlanIt tasks
3+
globs:
4+
alwaysApply: false
5+
---
6+
# PlanIt Mode
7+
8+
A structured approach to task planning and execution that emphasizes thorough analysis before action.
9+
10+
## Core Philosophy
11+
Before diving into solutions:
12+
1. Take time to understand the full scope of the problem
13+
2. Look for existing similar solutions in the codebase
14+
3. Consider different approaches and their tradeoffs
15+
4. Think about potential edge cases and complications
16+
5. Question your initial assumptions
17+
18+
## Execution Flow
19+
When a user message starts with "PlanIt:", ALWAYS follow this exact sequence:
20+
21+
0. STOP AND THINK FIRST
22+
- When you see "PlanIt:", this is a signal to pause and analyze
23+
- DO NOT jump to conclusions or start planning immediately
24+
- Take time to:
25+
* Understand the full context
26+
* Look for similar existing solutions
27+
* Consider different approaches
28+
* Question your assumptions
29+
* Think about potential complications
30+
- Only proceed to planning once you have a thorough understanding
31+
32+
1. Initial Prompt Refinement:
33+
- Review and analyze the initial prompt for clarity and completeness
34+
- Look for ambiguities or unstated requirements
35+
- Consider edge cases and potential complications
36+
- Suggest improvements if needed
37+
- Seek confirmation before proceeding with any suggested revisions
38+
39+
2. Thoughtful Analysis Phase:
40+
Before taking any action:
41+
- Analyze task requirements thoroughly
42+
- Review relevant parts of the codebase
43+
- Look for similar existing solutions
44+
- Consider different implementation approaches
45+
- Document understanding and assumptions
46+
- List potential challenges or edge cases
47+
- Confirm understanding with user before proceeding
48+
49+
3. Structured Planning and Progress Tracking:
50+
- Create a detailed action plan in `.cursor_tasks.md` using this format:
51+
([Timestamp] should have date and time in hh:mm:ss)
52+
```markdown
53+
# Task: [Task Name]
54+
Created: [Timestamp]
55+
56+
## Action Plan
57+
- [ ] Step 1
58+
- [ ] Step 2
59+
- [ ] Substep 2.1
60+
- [ ] Substep 2.2
61+
- [ ] Step 3
62+
63+
## Progress Notes
64+
- [Timestamp] Started implementation of...
65+
- [Timestamp] Completed step 1...
66+
```
67+
- After creating the plan, STOP and ask the user: "Does this plan look good to you? Should I proceed with implementation?"
68+
- Only proceed with implementation after explicit user approval
69+
- Update the plan continuously as tasks progress
70+
- Document any new steps identified during execution
71+
72+
4. Continuous Learning and Adaptation:
73+
- CRITICAL! If you make a mistake or get feedback, create or update cursor rules with your corrections!
74+
- Document learnings and improvements
75+
- Update approach based on new information
76+
77+
## Best Practices
78+
1. Never rush to implementation
79+
2. Question your initial assumptions
80+
3. Look for existing solutions first
81+
4. Consider multiple approaches
82+
5. Think about edge cases early
83+
6. Maintain clear and specific communication
84+
7. Provide context for all decisions
85+
8. Use iterative refinement when needed
86+
9. Document all significant decisions and changes
87+
10. Keep the user informed of progress
88+
11. Seek clarification when requirements are ambiguous
89+
12. ALWAYS get user approval before starting implementation
90+
91+
## Task Execution Flow
92+
1. Initial analysis and understanding
93+
2. Prompt refinement if needed
94+
3. Thorough exploration of existing solutions
95+
4. Create/update `.cursor_tasks.md`
96+
5. GET USER APPROVAL OF PLAN
97+
6. Execute planned steps
98+
7. Document progress and learnings
99+
8. Update plan as needed
100+
9. Seek user feedback at key points

engine/requirements-dev.txt

+4-6
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ django==4.2.19
2525
# django-stubs-ext
2626
django-filter-stubs==0.1.3
2727
# via -r requirements-dev.in
28-
django-stubs==4.2.2
28+
django-stubs[compatible-mypy]==4.2.2
2929
# via
3030
# -r requirements-dev.in
3131
# django-filter-stubs
3232
# djangorestframework-stubs
3333
django-stubs-ext==4.2.7
3434
# via django-stubs
35-
djangorestframework-stubs==3.14.2
35+
djangorestframework-stubs[compatible-mypy]==3.14.2
3636
# via
3737
# -r requirements-dev.in
3838
# django-filter-stubs
@@ -99,7 +99,7 @@ pytest-factoryboy==2.7.0
9999
# via -r requirements-dev.in
100100
pytest-socket==0.7.0
101101
# via -r requirements-dev.in
102-
pytest-xdist==3.6.1
102+
pytest-xdist[psutil]==3.6.1
103103
# via -r requirements-dev.in
104104
python-dateutil==2.8.2
105105
# via
@@ -113,8 +113,6 @@ requests==2.32.3
113113
# via
114114
# -c requirements.txt
115115
# djangorestframework-stubs
116-
setuptools==75.3.0
117-
# via nodeenv
118116
six==1.16.0
119117
# via
120118
# -c requirements.txt
@@ -161,5 +159,5 @@ urllib3==1.26.19
161159
# via
162160
# -c requirements.txt
163161
# requests
164-
virtualenv==20.25.0
162+
virtualenv==20.26.6
165163
# via pre-commit

engine/requirements.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ slack_sdk==3.21.3
5858
social-auth-app-django==5.4.1
5959
twilio~=6.37.0
6060
urllib3==1.26.19
61-
uwsgi==2.0.26
61+
uwsgi==2.0.28
6262
whitenoise==5.3.0
6363
google-api-python-client==2.122.0
6464
google-auth-httplib2==0.2.0

engine/requirements.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,10 @@ rsa==4.9
414414
# via google-auth
415415
s3transfer==0.10.0
416416
# via boto3
417+
setuptools==76.0.0
418+
# via
419+
# apscheduler
420+
# opentelemetry-instrumentation
417421
six==1.16.0
418422
# via
419423
# apscheduler
@@ -459,7 +463,7 @@ urllib3==1.26.19
459463
# botocore
460464
# django-anymail
461465
# requests
462-
uwsgi==2.0.26
466+
uwsgi==2.0.28
463467
# via -r requirements.in
464468
vine==5.1.0
465469
# via

grafana-plugin/go.mod

+47-46
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,94 @@
11
module github.com/grafana/grafana-oncall-app
22

3-
go 1.21.5
3+
go 1.23.5
44

5-
require github.com/grafana/grafana-plugin-sdk-go v0.250.0
5+
require github.com/grafana/grafana-plugin-sdk-go v0.271.0
66

77
require (
8-
github.com/BurntSushi/toml v1.3.2 // indirect
9-
github.com/apache/arrow/go/v15 v15.0.2 // indirect
8+
github.com/BurntSushi/toml v1.4.0 // indirect
9+
github.com/apache/arrow-go/v18 v18.0.1-0.20241212180703-82be143d7c30 // indirect
1010
github.com/beorn7/perks v1.0.1 // indirect
1111
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
1212
github.com/cespare/xxhash/v2 v2.3.0 // indirect
1313
github.com/cheekybits/genny v1.0.0 // indirect
1414
github.com/chromedp/cdproto v0.0.0-20220208224320-6efb837e6bc2 // indirect
15-
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
16-
github.com/elazarl/goproxy v0.0.0-20230731152917-f99041a5c027 // indirect
15+
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
16+
github.com/elazarl/goproxy v1.7.2 // indirect
1717
github.com/fatih/color v1.15.0 // indirect
18-
github.com/getkin/kin-openapi v0.124.0 // indirect
18+
github.com/getkin/kin-openapi v0.129.0 // indirect
1919
github.com/go-logr/logr v1.4.2 // indirect
2020
github.com/go-logr/stdr v1.2.2 // indirect
21-
github.com/go-openapi/jsonpointer v0.20.2 // indirect
22-
github.com/go-openapi/swag v0.22.8 // indirect
23-
github.com/goccy/go-json v0.10.2 // indirect
21+
github.com/go-openapi/jsonpointer v0.21.0 // indirect
22+
github.com/go-openapi/swag v0.23.0 // indirect
23+
github.com/goccy/go-json v0.10.4 // indirect
2424
github.com/gogo/protobuf v1.3.2 // indirect
2525
github.com/golang/protobuf v1.5.4 // indirect
26-
github.com/google/flatbuffers v23.5.26+incompatible // indirect
27-
github.com/google/go-cmp v0.6.0 // indirect
26+
github.com/google/flatbuffers v24.3.25+incompatible // indirect
27+
github.com/google/go-cmp v0.7.0 // indirect
2828
github.com/google/uuid v1.6.0 // indirect
2929
github.com/gorilla/mux v1.8.1 // indirect
3030
github.com/grafana/otel-profiling-go v0.5.1 // indirect
3131
github.com/grafana/pyroscope-go/godeltaprof v0.1.8 // indirect
3232
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 // indirect
33-
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 // indirect
34-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
33+
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1 // indirect
34+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect
3535
github.com/hashicorp/go-hclog v1.6.3 // indirect
36-
github.com/hashicorp/go-plugin v1.6.1 // indirect
36+
github.com/hashicorp/go-plugin v1.6.3 // indirect
3737
github.com/hashicorp/yamux v0.1.1 // indirect
38-
github.com/invopop/yaml v0.2.0 // indirect
3938
github.com/josharian/intern v1.0.0 // indirect
4039
github.com/json-iterator/go v1.1.12 // indirect
41-
github.com/klauspost/compress v1.17.9 // indirect
42-
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
40+
github.com/klauspost/compress v1.17.11 // indirect
41+
github.com/klauspost/cpuid/v2 v2.2.9 // indirect
4342
github.com/magefile/mage v1.15.0 // indirect
4443
github.com/mailru/easyjson v0.7.7 // indirect
4544
github.com/mattetti/filebuffer v1.0.1 // indirect
4645
github.com/mattn/go-colorable v0.1.13 // indirect
4746
github.com/mattn/go-isatty v0.0.19 // indirect
4847
github.com/mattn/go-runewidth v0.0.9 // indirect
49-
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
5048
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
5149
github.com/modern-go/reflect2 v1.0.2 // indirect
5250
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
5351
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
52+
github.com/oasdiff/yaml v0.0.0-20241210131133-6b86fb107d80 // indirect
53+
github.com/oasdiff/yaml3 v0.0.0-20241210130736-a94c01f36349 // indirect
5454
github.com/oklog/run v1.1.0 // indirect
5555
github.com/olekukonko/tablewriter v0.0.5 // indirect
5656
github.com/perimeterx/marshmallow v1.1.5 // indirect
57-
github.com/pierrec/lz4/v4 v4.1.18 // indirect
58-
github.com/prometheus/client_golang v1.20.3 // indirect
57+
github.com/pierrec/lz4/v4 v4.1.21 // indirect
58+
github.com/prometheus/client_golang v1.20.5 // indirect
5959
github.com/prometheus/client_model v0.6.1 // indirect
60-
github.com/prometheus/common v0.55.0 // indirect
60+
github.com/prometheus/common v0.62.0 // indirect
6161
github.com/prometheus/procfs v0.15.1 // indirect
6262
github.com/russross/blackfriday/v2 v2.1.0 // indirect
6363
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 // indirect
6464
github.com/unknwon/com v1.0.1 // indirect
6565
github.com/unknwon/log v0.0.0-20150304194804-e617c87089d3 // indirect
66-
github.com/urfave/cli v1.22.15 // indirect
66+
github.com/urfave/cli v1.22.16 // indirect
6767
github.com/zeebo/xxh3 v1.0.2 // indirect
68-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 // indirect
69-
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.53.0 // indirect
70-
go.opentelemetry.io/contrib/propagators/jaeger v1.29.0 // indirect
71-
go.opentelemetry.io/contrib/samplers/jaegerremote v0.23.0 // indirect
72-
go.opentelemetry.io/otel v1.29.0 // indirect
73-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect
74-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.28.0 // indirect
75-
go.opentelemetry.io/otel/metric v1.29.0 // indirect
76-
go.opentelemetry.io/otel/sdk v1.29.0 // indirect
77-
go.opentelemetry.io/otel/trace v1.29.0 // indirect
78-
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
79-
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
80-
golang.org/x/mod v0.17.0 // indirect
81-
golang.org/x/net v0.33.0 // indirect
82-
golang.org/x/sync v0.10.0 // indirect
83-
golang.org/x/sys v0.28.0 // indirect
84-
golang.org/x/text v0.21.0 // indirect
85-
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
86-
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
87-
google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect
88-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect
89-
google.golang.org/grpc v1.66.0 // indirect
90-
google.golang.org/protobuf v1.34.2 // indirect
68+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
69+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 // indirect
70+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0 // indirect
71+
go.opentelemetry.io/contrib/propagators/jaeger v1.34.0 // indirect
72+
go.opentelemetry.io/contrib/samplers/jaegerremote v0.28.0 // indirect
73+
go.opentelemetry.io/otel v1.35.0 // indirect
74+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect
75+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 // indirect
76+
go.opentelemetry.io/otel/metric v1.35.0 // indirect
77+
go.opentelemetry.io/otel/sdk v1.34.0 // indirect
78+
go.opentelemetry.io/otel/trace v1.35.0 // indirect
79+
go.opentelemetry.io/proto/otlp v1.5.0 // indirect
80+
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
81+
golang.org/x/mod v0.22.0 // indirect
82+
golang.org/x/net v0.36.0 // indirect
83+
golang.org/x/sync v0.11.0 // indirect
84+
golang.org/x/sys v0.30.0 // indirect
85+
golang.org/x/text v0.22.0 // indirect
86+
golang.org/x/tools v0.28.0 // indirect
87+
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
88+
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect
89+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
90+
google.golang.org/grpc v1.70.0 // indirect
91+
google.golang.org/protobuf v1.36.5 // indirect
9192
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect
9293
gopkg.in/yaml.v3 v3.0.1 // indirect
9394
)

0 commit comments

Comments
 (0)