indent 0.1.9__py3-none-any.whl → 0.1.11__py3-none-any.whl

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.

Potentially problematic release.


This version of indent might be problematic. Click here for more details.

@@ -11,7 +11,6 @@ from typing import (
11
11
  Generic,
12
12
  Literal,
13
13
  TypeVar,
14
- Union,
15
14
  )
16
15
 
17
16
  from anyio import Path as AsyncPath
@@ -226,9 +225,6 @@ Namespace = Literal[
226
225
  "file_write",
227
226
  "command",
228
227
  "list_files",
229
- "get_file_attachment",
230
- "get_file_attachments",
231
- "get_matching_files",
232
228
  "error",
233
229
  "create_checkpoint",
234
230
  "rollback_to_checkpoint",
@@ -333,24 +329,6 @@ class ListFilesResponse(RemoteExecutionResponse):
333
329
  files: list[RemoteFile]
334
330
 
335
331
 
336
- class GetFileAttachmentResponse(RemoteExecutionResponse, FileAttachment):
337
- namespace: ClassVar[Namespace] = "get_file_attachment"
338
-
339
- exists: bool = Field(default=True)
340
-
341
-
342
- class GetFileAttachmentsResponse(RemoteExecutionResponse):
343
- namespace: ClassVar[Namespace] = "get_file_attachments"
344
-
345
- file_attachments: list[FileAttachment]
346
-
347
-
348
- class GetMatchingFilesResponse(RemoteExecutionResponse):
349
- namespace: ClassVar[Namespace] = "get_matching_files"
350
-
351
- files: list[RemoteFile]
352
-
353
-
354
332
  class ErrorResponse(RemoteExecutionResponse):
355
333
  namespace: ClassVar[Namespace] = "error"
356
334
  # The namespace of the request that caused the error.
@@ -425,7 +403,7 @@ class CodeExecutionRequest(RemoteExecutionRequest[CodeExecutionResponse]):
425
403
 
426
404
  class StreamingCodeExecutionRequest(
427
405
  RemoteExecutionRequest[
428
- Union[StreamingCodeExecutionResponseChunk, StreamingCodeExecutionResponse]
406
+ StreamingCodeExecutionResponseChunk | StreamingCodeExecutionResponse
429
407
  ]
430
408
  ):
431
409
  namespace: ClassVar[Namespace] = "streaming_code_execution"
@@ -452,24 +430,6 @@ class ListFilesRequest(RemoteExecutionRequest[ListFilesResponse]):
452
430
  directory: str
453
431
 
454
432
 
455
- class GetFileAttachmentRequest(RemoteExecutionRequest[GetFileAttachmentResponse]):
456
- namespace: ClassVar[Namespace] = "get_file_attachment"
457
-
458
- file: RemoteFile
459
-
460
-
461
- class GetFileAttachmentsRequest(RemoteExecutionRequest[GetFileAttachmentsResponse]):
462
- namespace: ClassVar[Namespace] = "get_file_attachments"
463
-
464
- files: list[RemoteFile]
465
-
466
-
467
- class GetMatchingFilesRequest(RemoteExecutionRequest[GetMatchingFilesResponse]):
468
- namespace: ClassVar[Namespace] = "get_matching_files"
469
-
470
- search_term: str
471
-
472
-
473
433
  class CreateCheckpointRequest(RemoteExecutionRequest[CreateCheckpointResponse]):
474
434
  namespace: ClassVar[Namespace] = "create_checkpoint"
475
435
 
@@ -508,39 +468,31 @@ class CommandRequest(RemoteExecutionRequest[CommandResponse]):
508
468
  data: CommandDataType = Field(..., discriminator="type")
509
469
 
510
470
 
511
- RemoteExecutionRequestType = Union[
512
- CodeExecutionRequest,
513
- FileWriteRequest,
514
- ListFilesRequest,
515
- GetFileAttachmentRequest,
516
- GetFileAttachmentsRequest,
517
- GetMatchingFilesRequest,
518
- CommandRequest,
519
- StreamingCodeExecutionRequest,
520
- CreateCheckpointRequest,
521
- RollbackToCheckpointRequest,
522
- ]
471
+ RemoteExecutionRequestType = (
472
+ CodeExecutionRequest
473
+ | FileWriteRequest
474
+ | ListFilesRequest
475
+ | CommandRequest
476
+ | StreamingCodeExecutionRequest
477
+ | CreateCheckpointRequest
478
+ | RollbackToCheckpointRequest
479
+ )
523
480
 
524
- RemoteExecutionResponseType = Union[
525
- CodeExecutionResponse,
526
- StreamingCodeExecutionResponseChunk,
527
- StreamingCodeExecutionResponse,
528
- FileWriteResponse,
529
- ListFilesResponse,
530
- GetFileAttachmentResponse,
531
- GetFileAttachmentsResponse,
532
- GetMatchingFilesResponse,
533
- CommandResponse,
534
- ErrorResponse,
535
- CreateCheckpointResponse,
536
- RollbackToCheckpointResponse,
537
- ]
481
+ RemoteExecutionResponseType = (
482
+ CodeExecutionResponse
483
+ | StreamingCodeExecutionResponseChunk
484
+ | StreamingCodeExecutionResponse
485
+ | FileWriteResponse
486
+ | ListFilesResponse
487
+ | CommandResponse
488
+ | ErrorResponse
489
+ | CreateCheckpointResponse
490
+ | RollbackToCheckpointResponse
491
+ )
538
492
 
539
- StreamingResponseType = Union[
540
- StreamingCodeExecutionResponseChunk,
541
- StreamingCodeExecutionResponse,
542
- ErrorResponse,
543
- ]
493
+ StreamingResponseType = (
494
+ StreamingCodeExecutionResponseChunk | StreamingCodeExecutionResponse | ErrorResponse
495
+ )
544
496
 
545
497
  STREAMING_NAMESPACES = [
546
498
  "streaming_code_execution",
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import logging
3
+ import stat
3
4
  from collections.abc import Awaitable, Callable
4
5
  from functools import wraps
5
6
  from typing import (
@@ -22,6 +23,7 @@ from sentry_sdk.utils import (
22
23
  exc_info_from_error,
23
24
  )
24
25
 
26
+ from exponent.core.remote_execution.cli_rpc_types import FileMetadata
25
27
  from exponent.core.remote_execution.types import (
26
28
  SUPPORTED_LANGUAGES,
27
29
  CLIErrorLog,
@@ -29,31 +31,21 @@ from exponent.core.remote_execution.types import (
29
31
  CodeExecutionResponse,
30
32
  CommandRequest,
31
33
  CommandResponse,
32
- CreateCheckpointRequest,
33
34
  CreateCheckpointResponse,
34
35
  ErrorResponse,
35
36
  FilePath,
36
37
  FileWriteRequest,
37
38
  FileWriteResponse,
38
- GetFileAttachmentRequest,
39
- GetFileAttachmentResponse,
40
- GetFileAttachmentsRequest,
41
- GetFileAttachmentsResponse,
42
- GetMatchingFilesRequest,
43
- GetMatchingFilesResponse,
44
39
  ListFilesRequest,
45
40
  ListFilesResponse,
46
41
  RemoteExecutionMessage,
47
42
  RemoteExecutionMessageData,
48
43
  RemoteExecutionRequest,
49
- RemoteExecutionRequestData,
50
44
  RemoteExecutionRequestType,
51
45
  RemoteExecutionResponse,
52
46
  RemoteExecutionResponseData,
53
47
  RemoteExecutionResponseType,
54
- RollbackToCheckpointRequest,
55
48
  RollbackToCheckpointResponse,
56
- StreamingCodeExecutionRequest,
57
49
  StreamingCodeExecutionResponse,
58
50
  StreamingCodeExecutionResponseChunk,
59
51
  SupportedLanguage,
@@ -67,6 +59,8 @@ from exponent.core.types.event_types import (
67
59
  )
68
60
  from exponent.utils.version import get_installed_version
69
61
 
62
+ logger = logging.getLogger(__name__)
63
+
70
64
  ### Serde
71
65
 
72
66
 
@@ -92,19 +86,6 @@ def deserialize_response_data(
92
86
  response = FileWriteResponse.model_validate_json(response_data.message_data)
93
87
  elif response_data.namespace == "list_files":
94
88
  response = ListFilesResponse.model_validate_json(response_data.message_data)
95
- elif response_data.namespace == "get_matching_files":
96
- response = GetMatchingFilesResponse.model_validate_json(
97
- response_data.message_data
98
- )
99
- elif response_data.namespace == "get_file_attachment":
100
- response = GetFileAttachmentResponse.model_validate_json(
101
- response_data.message_data
102
- )
103
- elif response_data.namespace == "get_file_attachments":
104
- response = GetFileAttachmentsResponse.model_validate_json(
105
- response_data.message_data
106
- )
107
-
108
89
  elif response_data.namespace == "command":
109
90
  response = CommandResponse.model_validate_json(response_data.message_data)
110
91
  elif response_data.namespace == "error":
@@ -136,7 +117,7 @@ def serialize_message(response: RemoteExecutionMessage) -> str:
136
117
  return serialized
137
118
 
138
119
 
139
- ### API Serde
120
+ ### API Serdes
140
121
 
141
122
 
142
123
  TModel = TypeVar("TModel", bound=BaseModel)
@@ -147,7 +128,7 @@ async def deserialize_api_response(
147
128
  data_model: type[TModel],
148
129
  ) -> TModel:
149
130
  if response.is_error:
150
- print(response.text)
131
+ logging.error(response.text)
151
132
  try:
152
133
  error_message = response.json()["detail"]
153
134
  except Exception:
@@ -314,23 +295,9 @@ def truncate_message(response: FileWriteRequest) -> FileWriteRequest: ...
314
295
  @overload
315
296
  def truncate_message(response: FileWriteResponse) -> FileWriteResponse: ...
316
297
  @overload
317
- def truncate_message(
318
- response: GetFileAttachmentRequest,
319
- ) -> GetFileAttachmentRequest: ...
320
- @overload
321
- def truncate_message(
322
- response: GetFileAttachmentResponse,
323
- ) -> GetFileAttachmentResponse: ...
324
- @overload
325
298
  def truncate_message(response: ListFilesRequest) -> ListFilesRequest: ...
326
299
  @overload
327
300
  def truncate_message(response: ListFilesResponse) -> ListFilesResponse: ...
328
- @overload
329
- def truncate_message(response: GetMatchingFilesRequest) -> GetMatchingFilesRequest: ...
330
- @overload
331
- def truncate_message(
332
- response: GetMatchingFilesResponse,
333
- ) -> GetMatchingFilesResponse: ...
334
301
 
335
302
 
336
303
  @overload
@@ -350,12 +317,9 @@ def truncate_message(
350
317
  ) -> RemoteExecutionMessage:
351
318
  if isinstance(
352
319
  response,
353
- (
354
- CodeExecutionResponse,
355
- GetFileAttachmentResponse,
356
- StreamingCodeExecutionResponse,
357
- StreamingCodeExecutionResponseChunk,
358
- ),
320
+ CodeExecutionResponse
321
+ | StreamingCodeExecutionResponse
322
+ | StreamingCodeExecutionResponseChunk,
359
323
  ):
360
324
  content, truncated = truncate_output(response.content)
361
325
  response.content = content
@@ -369,12 +333,6 @@ def truncate_message(
369
333
  response.content = content
370
334
  if truncated:
371
335
  response.truncated = True
372
- elif isinstance(response, GetFileAttachmentsResponse):
373
- for file_attachment in response.file_attachments:
374
- content, truncated = truncate_output(file_attachment.content)
375
- file_attachment.content = content
376
- if truncated:
377
- file_attachment.truncated = True
378
336
  return response
379
337
 
380
338
 
@@ -482,6 +440,20 @@ async def safe_read_file(path: FilePath) -> str:
482
440
  raise
483
441
 
484
442
 
443
+ async def safe_get_file_metadata(path: FilePath) -> FileMetadata | None:
444
+ path = AsyncPath(path)
445
+ try:
446
+ stats = await path.stat()
447
+ except Exception as e:
448
+ logger.error(f"Error getting file metadata: {e!s}")
449
+ return None
450
+
451
+ return FileMetadata(
452
+ modified_timestamp=stats.st_mtime,
453
+ file_mode=stat.filemode(stats.st_mode),
454
+ )
455
+
456
+
485
457
  async def safe_write_file(path: FilePath, content: str) -> None:
486
458
  await AsyncPath(path).write_text(content, encoding="utf-8")
487
459
 
@@ -1,6 +1,6 @@
1
1
  from datetime import datetime
2
2
  from enum import Enum
3
- from typing import Generic, Protocol, TypeVar, Union
3
+ from typing import Generic, Protocol, TypeVar
4
4
 
5
5
  from pydantic import BaseModel, Field, JsonValue, ValidationInfo, field_validator
6
6
 
@@ -86,4 +86,4 @@ class MultiCommandEvent(PersistedExponentEvent):
86
86
  require_confirmation: bool = False
87
87
 
88
88
 
89
- LocalEventType = Union[FileWriteEvent, CodeBlockEvent, CommandEvent]
89
+ LocalEventType = FileWriteEvent | CodeBlockEvent | CommandEvent
exponent/utils/version.py CHANGED
@@ -65,7 +65,7 @@ def get_installer() -> str | Literal["unknown"]:
65
65
  if installer_files:
66
66
  return installer_files.strip()
67
67
  return "unknown"
68
- except Exception: # noqa: BLE001
68
+ except Exception:
69
69
  return "unknown"
70
70
 
71
71
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: indent
3
- Version: 0.1.9
3
+ Version: 0.1.11
4
4
  Summary: Indent is an AI Pair Programmer
5
5
  Author-email: Sashank Thupukari <sashank@exponent.run>
6
6
  Requires-Python: <3.13,>=3.10
@@ -1,53 +1,52 @@
1
- exponent/__init__.py,sha256=bhntibG3PKk5Ai3XlSNEV8gj-ffItuKloY6vzWn6swo,511
1
+ exponent/__init__.py,sha256=0-Ruc52ECccw_8Ef0d7jMkzrb8fkobUkZLqGGvcm1ik,706
2
2
  exponent/cli.py,sha256=u3hhZnn5uqVXyNz6wU8j4U5vLJ--pbA-PweHhpvRzY4,3444
3
3
  exponent/py.typed,sha256=9XZl5avs8yHp89XP_1Fjtbeg_2rjYorCC9I0k_j-h2c,334
4
4
  exponent/commands/cloud_commands.py,sha256=4DgS7PjCtCFB5uNN-szzAzOj16UU1D9b9_qS7DskoLE,2026
5
5
  exponent/commands/common.py,sha256=HUzc9yl5L6GZEF5DDsF3IeArwPKrghxmK43vxtkxgGs,13679
6
- exponent/commands/config_commands.py,sha256=5xIWMVMBoY2-90gEe61DzIuvpT5_r0r91jpgDLeb-AU,15959
6
+ exponent/commands/config_commands.py,sha256=iVIX7LuoO5QshzZNSrfvw5yPIiLlce8GQSMBEp7-nzw,11415
7
7
  exponent/commands/run_commands.py,sha256=syuC_YUFSz57eT7Rl0aFiIfogINmiAvmenLClnogWQU,5865
8
8
  exponent/commands/settings.py,sha256=UwwwoCgCY5hzAFD9slOBbA9Gr1hNfoyJ2blsFDC6V8w,1559
9
9
  exponent/commands/types.py,sha256=iDJL3hdwhO1PrhsJTJBioNYSKo0CWV8Nv-ONcDaWIRs,3670
10
10
  exponent/commands/upgrade.py,sha256=JZr0sNazziuLByQHdT8GZb-lDbRG1YpHW8VB94q-r8w,803
11
- exponent/commands/utils.py,sha256=c8KO1EjfwmEVXAKIvKSuJE_nl338q8fLSNKxuxQSyAY,4624
12
- exponent/commands/workflow_commands.py,sha256=1IZCw_EWkpLHF3urOR5kwYyfHWQrjBbaih8FRu6hPW8,3591
13
- exponent/core/config.py,sha256=faWzY3wZ8MF8BmeZ7mOZbuDDRs3ShVeSDPe2OH2nrI0,5748
11
+ exponent/commands/utils.py,sha256=Z3eu3mvYwBh7J_hq17lyt7_MwMG8KcsP7AnsCgOnTNc,4638
12
+ exponent/commands/workflow_commands.py,sha256=PAxO9yN6H82ZsXKG-1ceXzPfjFAxBbjoEIgPoQ7iTk0,3596
13
+ exponent/core/config.py,sha256=TNFLUgLnfSocRMVSav_7E4VcaNHXZ_3Mg5Lp1smP46U,5731
14
14
  exponent/core/graphql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  exponent/core/graphql/client.py,sha256=KRveVt4lsrSdF9PnhhlQeqx74FQ9-iN28WQp0WKnQ30,1921
16
- exponent/core/graphql/cloud_config_queries.py,sha256=Xy8SRP-sfWFcaq33hF-Ni1KwZDU4AdkkGbntsOxYytA,1968
17
16
  exponent/core/graphql/get_chats_query.py,sha256=9-2N1VfapXUZB3IFIKw5U_gKdmfyviJp5JSUntB_Yyk,1177
18
17
  exponent/core/graphql/github_config_queries.py,sha256=zKRDxF38q73apQcVaEAA_A20FVr3U0ADc5-8Y6Ns5Dw,1260
19
18
  exponent/core/graphql/mutations.py,sha256=WRwgJzMTETvry1yc9-EBlIRWkePjHIskBAm_6tEiRaU,1352
20
19
  exponent/core/graphql/queries.py,sha256=AJgDM1qc2_Zo0DhLqbogVTVokrzjfqhwhUz0SCdrKNI,2943
21
- exponent/core/graphql/subscriptions.py,sha256=qDlWQsaY0F4lUaHEAeAa02iuKpUfml4I6kD9HMKGe1E,10301
20
+ exponent/core/graphql/subscriptions.py,sha256=SQngv_nYVNJjiZ_P2k0UcLIu1pzc4vi7q7lhH89NCZM,393
22
21
  exponent/core/remote_execution/checkpoints.py,sha256=3QGYMLa8vT7XmxMYTRcGrW8kNGHwRC0AkUfULribJWg,6354
23
- exponent/core/remote_execution/cli_rpc_types.py,sha256=ZokZXSMYGqJJX9fqzzoXJx9ElZjg6wOUl8dT9QMJQ9Y,5793
24
- exponent/core/remote_execution/client.py,sha256=gSnR3vJ7HCovZN1cvwFD-PNsS7syWE4WAYK3ibJ3M-U,25586
22
+ exponent/core/remote_execution/cli_rpc_types.py,sha256=W4zowx4kyAOqEqfavuKrdaZ4qHHYEkxmfDWLSaLzxvY,6918
23
+ exponent/core/remote_execution/client.py,sha256=GS0KCK1xyvH0nBTdBo_80aQ5lV3kFAB7Eq_xL5_xt90,25523
25
24
  exponent/core/remote_execution/code_execution.py,sha256=jYPB_7dJzS9BTPLX9fKQpsFPatwjbXuaFFSxT9tDTfI,2388
26
25
  exponent/core/remote_execution/error_info.py,sha256=Rd7OA3ps06qYejPVcOaMBB9AtftP3wqQoOfiILFASnc,1378
27
26
  exponent/core/remote_execution/exceptions.py,sha256=eT57lBnBhvh-KJ5lsKWcfgGA5-WisAxhjZx-Z6OupZY,135
28
- exponent/core/remote_execution/file_write.py,sha256=j9X4QfCBuZK6VIMfeu53WTN90G4w0AtN4U9GcoCJvJk,12531
29
- exponent/core/remote_execution/files.py,sha256=ypqDuXhnANWMnwiYrw033oBSDaDT9v9J0jvdHesRw24,11868
30
- exponent/core/remote_execution/git.py,sha256=Yo4mhkl6LYzGhVco91j_E8WOUey5KL9437rk43VCCA8,7826
31
- exponent/core/remote_execution/http_fetch.py,sha256=ZoQ2EcB1vQys-QmIbt1xC0ftyWkOIohxCfYNVYv4kF0,2856
32
- exponent/core/remote_execution/session.py,sha256=cSJcCG1o74mBE6lZS_9VFmhyZdW6BeIOsbq4IVWH0t4,3863
33
- exponent/core/remote_execution/system_context.py,sha256=XBvWeLLsrfzdicYBMbIneOBlnelBMb2n-VpHw5q2kcA,749
34
- exponent/core/remote_execution/tool_execution.py,sha256=_UQPyOTY49RQ70kfgnf03eev7c7lTWhFBC68cuifj2M,12354
35
- exponent/core/remote_execution/truncation.py,sha256=rFQDfT7qf_u6lvhEADWSpoRe_GTPegXXqknk7OZp0uI,10093
36
- exponent/core/remote_execution/types.py,sha256=P1hlhg_cw6A0iplODzI2irs5f7k8zBYYGX4Xvs4-YC4,16212
37
- exponent/core/remote_execution/utils.py,sha256=Jwn2f753WuyanceUQSyJypcplOlUrfPchebAy7ULoz8,15927
38
- exponent/core/remote_execution/languages/python_execution.py,sha256=GcQU5PiAOUD9tUZDrSObgM3L7FjXMdzr4FQg6ts2XjY,7780
39
- exponent/core/remote_execution/languages/shell_streaming.py,sha256=eSeHcK_unGpVRRdfgfwhml_tSlCo0VCeUEQY4zuMbDw,7372
27
+ exponent/core/remote_execution/file_write.py,sha256=RqeGG_OyUIPD91XWGKdTQdEG0t1TCfc5WYnNvw0D9fc,12499
28
+ exponent/core/remote_execution/files.py,sha256=mIVjhStaEKETW6y3pCVeV8eJKNaPtroWGP_kBK1x8uA,8776
29
+ exponent/core/remote_execution/git.py,sha256=dGjBpeoKJZsYgRwctSq29GmbsNIN9tbSA3VwBnRD0IQ,7810
30
+ exponent/core/remote_execution/http_fetch.py,sha256=aFEyXd0S-MRfisSMuIFiEyc1AEAj9nUZ9Rj_P_YRows,2827
31
+ exponent/core/remote_execution/session.py,sha256=jlQIdeUj0f7uOk3BgzlJtBJ_GyTIjCchBp5ApQuF2-I,3847
32
+ exponent/core/remote_execution/system_context.py,sha256=QY1zY8_fWj3sh-fmLYtewvgxh7uTX4ITIJqlUTDkj6c,648
33
+ exponent/core/remote_execution/tool_execution.py,sha256=ZBDC2RN_l8oCFO8Fc8dkKoLY_0rn-5h394PvWeXqTnI,12972
34
+ exponent/core/remote_execution/truncation.py,sha256=noB6c4eaebqq5ghTlYJkXbe2XY8Bz_GBeh9DazJUrrU,9644
35
+ exponent/core/remote_execution/types.py,sha256=oK0L5GK-Zp3Kez-EVWsDfwxnUvVQtH-l2OO2zQWhlzQ,14930
36
+ exponent/core/remote_execution/utils.py,sha256=6PlBqYJ3OQwZ0dgXiIu3br04a-d-glDeDZpD0XGGPAE,14793
37
+ exponent/core/remote_execution/languages/python_execution.py,sha256=nsX_LsXcUcHhiEHpSTjOTVNd7CxM146al0kw_iQX5OU,7724
38
+ exponent/core/remote_execution/languages/shell_streaming.py,sha256=eEhngdLhiMiDM0KUfLUtj6BdU3ay3G1zJy6dlR2V6nw,7389
40
39
  exponent/core/remote_execution/languages/types.py,sha256=f7FjSRNRSga-ZaE3LddDhxCirUVjlSYMEdoskG6Pta4,314
41
40
  exponent/core/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
41
  exponent/core/types/command_data.py,sha256=_HqQsnamRZeVoVaTpeO3ecVUzNBdG62WXlFy6Q7rtUM,5294
43
- exponent/core/types/event_types.py,sha256=sxI9ac03G-6y1_p7_RhiaEzxFHwGxvBBNRWHG8uLiLI,2480
42
+ exponent/core/types/event_types.py,sha256=Hi9OMlLwB8f0TwPsKMThkXLFVzvOyJfMWk2urjPD1Uo,2468
44
43
  exponent/core/types/generated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
44
  exponent/core/types/generated/strategy_info.py,sha256=T9fGuH9gS4GaChgRfIjDYAs68bk4zm9OEg2mMcT-Wyw,7155
46
45
  exponent/migration-docs/login.md,sha256=KIeXy3m2nzSUgw-4PW1XzXfHael1D4Zu93CplLMb3hI,4252
47
46
  exponent/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
47
  exponent/utils/colors.py,sha256=HBkqe_ZmhJ9YiL2Fpulqek4KvLS5mwBTY4LQSM5N8SM,2762
49
- exponent/utils/version.py,sha256=Q4txP7Rg_KO0u0tUpx8O0DoOt32wrX7ctNeDXVKaOfA,8835
50
- indent-0.1.9.dist-info/METADATA,sha256=Rn7HmjV09LMsxtUQDO2X5vr7rfeWnDrIScyXtKs0ec4,1277
51
- indent-0.1.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
52
- indent-0.1.9.dist-info/entry_points.txt,sha256=q8q1t1sbl4NULGOR0OV5RmSG4KEjkpEQRU_RUXEGzcs,44
53
- indent-0.1.9.dist-info/RECORD,,
48
+ exponent/utils/version.py,sha256=dmSFUzspaGjehLr9y_PkGTAQe298M0TwK9PF8fv3EKA,8819
49
+ indent-0.1.11.dist-info/METADATA,sha256=WSNfqZvsBT0nrTqYDdipWCXMPeGJfGz2qmMK0KNbLvI,1278
50
+ indent-0.1.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
51
+ indent-0.1.11.dist-info/entry_points.txt,sha256=q8q1t1sbl4NULGOR0OV5RmSG4KEjkpEQRU_RUXEGzcs,44
52
+ indent-0.1.11.dist-info/RECORD,,
@@ -1,77 +0,0 @@
1
- GET_CLOUD_CONFIGS_QUERY: str = """
2
- query {
3
- cloudConfigs {
4
- __typename
5
- ... on UnauthenticatedError {
6
- message
7
- }
8
- ... on CloudConfigs {
9
- configs {
10
- cloudConfigUuid
11
- githubOrgName
12
- githubRepoName
13
- setupCommands
14
- repoUrl
15
- }
16
- }
17
- }
18
- }
19
- """
20
-
21
- CREATE_CLOUD_CONFIG_MUTATION: str = """
22
- mutation CreateCloudConfig(
23
- $githubOrgName: String!,
24
- $githubRepoName: String!,
25
- $setupCommands: [String!],
26
- ) {
27
- createCloudConfig(
28
- input: {
29
- githubOrgName: $githubOrgName,
30
- githubRepoName: $githubRepoName,
31
- setupCommands: $setupCommands,
32
- }
33
- ) {
34
- __typename
35
- ... on UnauthenticatedError {
36
- message
37
- }
38
- ... on CloudConfig {
39
- cloudConfigUuid
40
- githubOrgName
41
- githubRepoName
42
- setupCommands
43
- repoUrl
44
- }
45
- }
46
- }
47
- """
48
-
49
- UPDATE_CLOUD_CONFIG_MUTATION: str = """
50
- mutation UpdateCloudConfig(
51
- $cloudConfigUuid: String!,
52
- $githubOrgName: String!,
53
- $githubRepoName: String!,
54
- $setupCommands: [String!],
55
- ) {
56
- updateCloudConfig(
57
- cloudConfigUuid: $cloudConfigUuid,
58
- input: {
59
- githubOrgName: $githubOrgName,
60
- githubRepoName: $githubRepoName,
61
- setupCommands: $setupCommands,
62
- }
63
- ) {
64
- __typename
65
- ... on UnauthenticatedError {
66
- message
67
- }
68
- ... on CloudConfig {
69
- cloudConfigUuid
70
- githubOrgName
71
- githubRepoName
72
- setupCommands
73
- repoUrl
74
- }
75
- }
76
- }
77
- """