@milaboratories/pl-drivers 1.11.59 → 1.11.60
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.
- package/dist/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/clients/constructors.cjs +28 -28
- package/dist/clients/constructors.cjs.map +1 -1
- package/dist/clients/constructors.d.ts +17 -13
- package/dist/clients/constructors.js +28 -26
- package/dist/clients/constructors.js.map +1 -1
- package/dist/clients/crc32c.cjs +8 -13
- package/dist/clients/crc32c.cjs.map +1 -1
- package/dist/clients/crc32c.js +8 -12
- package/dist/clients/crc32c.js.map +1 -1
- package/dist/clients/download.cjs +119 -160
- package/dist/clients/download.cjs.map +1 -1
- package/dist/clients/download.d.ts +45 -41
- package/dist/clients/download.js +115 -137
- package/dist/clients/download.js.map +1 -1
- package/dist/clients/logs.cjs +78 -82
- package/dist/clients/logs.cjs.map +1 -1
- package/dist/clients/logs.d.ts +34 -24
- package/dist/clients/logs.js +77 -80
- package/dist/clients/logs.js.map +1 -1
- package/dist/clients/ls_api.cjs +62 -68
- package/dist/clients/ls_api.cjs.map +1 -1
- package/dist/clients/ls_api.d.ts +15 -11
- package/dist/clients/ls_api.js +61 -66
- package/dist/clients/ls_api.js.map +1 -1
- package/dist/clients/progress.cjs +49 -59
- package/dist/clients/progress.cjs.map +1 -1
- package/dist/clients/progress.d.ts +27 -20
- package/dist/clients/progress.js +48 -57
- package/dist/clients/progress.js.map +1 -1
- package/dist/clients/upload.cjs +189 -250
- package/dist/clients/upload.cjs.map +1 -1
- package/dist/clients/upload.d.ts +44 -34
- package/dist/clients/upload.js +187 -229
- package/dist/clients/upload.js.map +1 -1
- package/dist/drivers/download_blob/blob_key.cjs +9 -26
- package/dist/drivers/download_blob/blob_key.cjs.map +1 -1
- package/dist/drivers/download_blob/blob_key.js +7 -5
- package/dist/drivers/download_blob/blob_key.js.map +1 -1
- package/dist/drivers/download_blob/download_blob.cjs +395 -478
- package/dist/drivers/download_blob/download_blob.cjs.map +1 -1
- package/dist/drivers/download_blob/download_blob.d.ts +102 -100
- package/dist/drivers/download_blob/download_blob.js +388 -453
- package/dist/drivers/download_blob/download_blob.js.map +1 -1
- package/dist/drivers/download_blob/download_blob_task.cjs +128 -163
- package/dist/drivers/download_blob/download_blob_task.cjs.map +1 -1
- package/dist/drivers/download_blob/download_blob_task.js +125 -141
- package/dist/drivers/download_blob/download_blob_task.js.map +1 -1
- package/dist/drivers/download_blob/sparse_cache/cache.cjs +166 -195
- package/dist/drivers/download_blob/sparse_cache/cache.cjs.map +1 -1
- package/dist/drivers/download_blob/sparse_cache/cache.js +164 -193
- package/dist/drivers/download_blob/sparse_cache/cache.js.map +1 -1
- package/dist/drivers/download_blob/sparse_cache/file.cjs +29 -50
- package/dist/drivers/download_blob/sparse_cache/file.cjs.map +1 -1
- package/dist/drivers/download_blob/sparse_cache/file.js +28 -29
- package/dist/drivers/download_blob/sparse_cache/file.js.map +1 -1
- package/dist/drivers/download_blob/sparse_cache/ranges.cjs +48 -76
- package/dist/drivers/download_blob/sparse_cache/ranges.cjs.map +1 -1
- package/dist/drivers/download_blob/sparse_cache/ranges.js +47 -54
- package/dist/drivers/download_blob/sparse_cache/ranges.js.map +1 -1
- package/dist/drivers/download_blob_url/driver.cjs +125 -165
- package/dist/drivers/download_blob_url/driver.cjs.map +1 -1
- package/dist/drivers/download_blob_url/driver.d.ts +45 -42
- package/dist/drivers/download_blob_url/driver.js +123 -144
- package/dist/drivers/download_blob_url/driver.js.map +1 -1
- package/dist/drivers/download_blob_url/driver_id.cjs +4 -4
- package/dist/drivers/download_blob_url/driver_id.cjs.map +1 -1
- package/dist/drivers/download_blob_url/driver_id.js +4 -3
- package/dist/drivers/download_blob_url/driver_id.js.map +1 -1
- package/dist/drivers/download_blob_url/snapshot.cjs +7 -11
- package/dist/drivers/download_blob_url/snapshot.cjs.map +1 -1
- package/dist/drivers/download_blob_url/snapshot.d.ts +10 -5
- package/dist/drivers/download_blob_url/snapshot.js +5 -8
- package/dist/drivers/download_blob_url/snapshot.js.map +1 -1
- package/dist/drivers/download_blob_url/task.cjs +147 -194
- package/dist/drivers/download_blob_url/task.cjs.map +1 -1
- package/dist/drivers/download_blob_url/task.d.ts +55 -57
- package/dist/drivers/download_blob_url/task.js +140 -170
- package/dist/drivers/download_blob_url/task.js.map +1 -1
- package/dist/drivers/download_url/driver.cjs +109 -146
- package/dist/drivers/download_url/driver.cjs.map +1 -1
- package/dist/drivers/download_url/driver.d.ts +59 -57
- package/dist/drivers/download_url/driver.js +107 -125
- package/dist/drivers/download_url/driver.js.map +1 -1
- package/dist/drivers/download_url/task.cjs +104 -137
- package/dist/drivers/download_url/task.cjs.map +1 -1
- package/dist/drivers/download_url/task.d.ts +33 -37
- package/dist/drivers/download_url/task.js +99 -113
- package/dist/drivers/download_url/task.js.map +1 -1
- package/dist/drivers/helpers/download_local_handle.cjs +13 -14
- package/dist/drivers/helpers/download_local_handle.cjs.map +1 -1
- package/dist/drivers/helpers/download_local_handle.js +13 -13
- package/dist/drivers/helpers/download_local_handle.js.map +1 -1
- package/dist/drivers/helpers/download_remote_handle.cjs +23 -24
- package/dist/drivers/helpers/download_remote_handle.cjs.map +1 -1
- package/dist/drivers/helpers/download_remote_handle.js +22 -22
- package/dist/drivers/helpers/download_remote_handle.js.map +1 -1
- package/dist/drivers/helpers/files_cache.cjs +53 -64
- package/dist/drivers/helpers/files_cache.cjs.map +1 -1
- package/dist/drivers/helpers/files_cache.js +52 -62
- package/dist/drivers/helpers/files_cache.js.map +1 -1
- package/dist/drivers/helpers/helpers.cjs +24 -28
- package/dist/drivers/helpers/helpers.cjs.map +1 -1
- package/dist/drivers/helpers/helpers.d.ts +10 -7
- package/dist/drivers/helpers/helpers.js +24 -27
- package/dist/drivers/helpers/helpers.js.map +1 -1
- package/dist/drivers/helpers/logs_handle.cjs +24 -33
- package/dist/drivers/helpers/logs_handle.cjs.map +1 -1
- package/dist/drivers/helpers/logs_handle.js +24 -29
- package/dist/drivers/helpers/logs_handle.js.map +1 -1
- package/dist/drivers/helpers/ls_remote_import_handle.cjs +20 -20
- package/dist/drivers/helpers/ls_remote_import_handle.cjs.map +1 -1
- package/dist/drivers/helpers/ls_remote_import_handle.js +20 -18
- package/dist/drivers/helpers/ls_remote_import_handle.js.map +1 -1
- package/dist/drivers/helpers/ls_storage_entry.cjs +36 -40
- package/dist/drivers/helpers/ls_storage_entry.cjs.map +1 -1
- package/dist/drivers/helpers/ls_storage_entry.js +36 -37
- package/dist/drivers/helpers/ls_storage_entry.js.map +1 -1
- package/dist/drivers/helpers/polling_ops.d.ts +6 -5
- package/dist/drivers/helpers/read_file.cjs +34 -57
- package/dist/drivers/helpers/read_file.cjs.map +1 -1
- package/dist/drivers/helpers/read_file.js +30 -34
- package/dist/drivers/helpers/read_file.js.map +1 -1
- package/dist/drivers/logs.cjs +94 -112
- package/dist/drivers/logs.cjs.map +1 -1
- package/dist/drivers/logs.d.ts +35 -32
- package/dist/drivers/logs.js +93 -110
- package/dist/drivers/logs.js.map +1 -1
- package/dist/drivers/logs_stream.cjs +210 -242
- package/dist/drivers/logs_stream.cjs.map +1 -1
- package/dist/drivers/logs_stream.d.ts +55 -53
- package/dist/drivers/logs_stream.js +209 -240
- package/dist/drivers/logs_stream.js.map +1 -1
- package/dist/drivers/ls.cjs +151 -238
- package/dist/drivers/ls.cjs.map +1 -1
- package/dist/drivers/ls.d.ts +53 -49
- package/dist/drivers/ls.js +148 -216
- package/dist/drivers/ls.js.map +1 -1
- package/dist/drivers/types.cjs +25 -53
- package/dist/drivers/types.cjs.map +1 -1
- package/dist/drivers/types.d.ts +91 -106
- package/dist/drivers/types.js +23 -50
- package/dist/drivers/types.js.map +1 -1
- package/dist/drivers/upload.cjs +127 -153
- package/dist/drivers/upload.cjs.map +1 -1
- package/dist/drivers/upload.d.ts +52 -50
- package/dist/drivers/upload.js +126 -151
- package/dist/drivers/upload.js.map +1 -1
- package/dist/drivers/upload_task.cjs +223 -260
- package/dist/drivers/upload_task.cjs.map +1 -1
- package/dist/drivers/upload_task.d.ts +54 -52
- package/dist/drivers/upload_task.js +221 -258
- package/dist/drivers/upload_task.js.map +1 -1
- package/dist/drivers/urls/url.cjs +30 -35
- package/dist/drivers/urls/url.cjs.map +1 -1
- package/dist/drivers/urls/url.js +28 -33
- package/dist/drivers/urls/url.js.map +1 -1
- package/dist/drivers/virtual_storages.cjs +36 -48
- package/dist/drivers/virtual_storages.cjs.map +1 -1
- package/dist/drivers/virtual_storages.d.ts +6 -2
- package/dist/drivers/virtual_storages.js +32 -46
- package/dist/drivers/virtual_storages.js.map +1 -1
- package/dist/helpers/download.cjs +72 -95
- package/dist/helpers/download.cjs.map +1 -1
- package/dist/helpers/download.d.ts +13 -9
- package/dist/helpers/download.js +71 -93
- package/dist/helpers/download.js.map +1 -1
- package/dist/helpers/download_errors.cjs +28 -27
- package/dist/helpers/download_errors.cjs.map +1 -1
- package/dist/helpers/download_errors.d.ts +16 -13
- package/dist/helpers/download_errors.js +28 -26
- package/dist/helpers/download_errors.js.map +1 -1
- package/dist/helpers/validate.cjs +8 -7
- package/dist/helpers/validate.cjs.map +1 -1
- package/dist/helpers/validate.d.ts +4 -1
- package/dist/helpers/validate.js +6 -5
- package/dist/helpers/validate.js.map +1 -1
- package/dist/index.cjs +75 -79
- package/dist/index.d.ts +22 -22
- package/dist/index.js +22 -21
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs +238 -249
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.cjs +27 -27
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.d.ts +25 -23
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.js +26 -25
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.d.ts +51 -87
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js +238 -245
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs +295 -289
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.cjs +30 -30
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.js +29 -28
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts +86 -150
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js +295 -285
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs +385 -393
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.cjs +34 -34
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.d.ts +33 -34
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.js +33 -32
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.d.ts +78 -129
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js +385 -387
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs +570 -468
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.cjs +82 -82
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.d.ts +109 -112
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.js +81 -80
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts +243 -264
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js +569 -460
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs +751 -729
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.cjs +67 -67
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.js +66 -65
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.d.ts +15 -381
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js +749 -718
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js.map +1 -1
- package/dist/proto-grpc/google/protobuf/duration.cjs +92 -100
- package/dist/proto-grpc/google/protobuf/duration.cjs.map +1 -1
- package/dist/proto-grpc/google/protobuf/duration.d.ts +38 -43
- package/dist/proto-grpc/google/protobuf/duration.js +91 -98
- package/dist/proto-grpc/google/protobuf/duration.js.map +1 -1
- package/dist/proto-grpc/google/protobuf/timestamp.cjs +117 -128
- package/dist/proto-grpc/google/protobuf/timestamp.cjs.map +1 -1
- package/dist/proto-grpc/google/protobuf/timestamp.d.ts +50 -55
- package/dist/proto-grpc/google/protobuf/timestamp.js +116 -126
- package/dist/proto-grpc/google/protobuf/timestamp.js.map +1 -1
- package/dist/proto-rest/downloadapi.d.ts +85 -91
- package/dist/proto-rest/index.d.ts +11 -16
- package/dist/proto-rest/progressapi.d.ts +130 -140
- package/dist/proto-rest/streamingapi.d.ts +413 -434
- package/package.json +12 -12
- package/dist/clients/constructors.d.ts.map +0 -1
- package/dist/clients/crc32c.d.ts +0 -2
- package/dist/clients/crc32c.d.ts.map +0 -1
- package/dist/clients/download.d.ts.map +0 -1
- package/dist/clients/logs.d.ts.map +0 -1
- package/dist/clients/ls_api.d.ts.map +0 -1
- package/dist/clients/progress.d.ts.map +0 -1
- package/dist/clients/upload.d.ts.map +0 -1
- package/dist/drivers/download_blob/blob_key.d.ts +0 -5
- package/dist/drivers/download_blob/blob_key.d.ts.map +0 -1
- package/dist/drivers/download_blob/download_blob.d.ts.map +0 -1
- package/dist/drivers/download_blob/download_blob_task.d.ts +0 -56
- package/dist/drivers/download_blob/download_blob_task.d.ts.map +0 -1
- package/dist/drivers/download_blob/sparse_cache/cache.d.ts +0 -82
- package/dist/drivers/download_blob/sparse_cache/cache.d.ts.map +0 -1
- package/dist/drivers/download_blob/sparse_cache/file.d.ts +0 -8
- package/dist/drivers/download_blob/sparse_cache/file.d.ts.map +0 -1
- package/dist/drivers/download_blob/sparse_cache/ranges.d.ts +0 -46
- package/dist/drivers/download_blob/sparse_cache/ranges.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/driver.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/driver_id.d.ts +0 -6
- package/dist/drivers/download_blob_url/driver_id.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/snapshot.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/task.d.ts.map +0 -1
- package/dist/drivers/download_url/driver.d.ts.map +0 -1
- package/dist/drivers/download_url/task.d.ts.map +0 -1
- package/dist/drivers/helpers/download_local_handle.d.ts +0 -11
- package/dist/drivers/helpers/download_local_handle.d.ts.map +0 -1
- package/dist/drivers/helpers/download_remote_handle.d.ts +0 -13
- package/dist/drivers/helpers/download_remote_handle.d.ts.map +0 -1
- package/dist/drivers/helpers/files_cache.d.ts +0 -29
- package/dist/drivers/helpers/files_cache.d.ts.map +0 -1
- package/dist/drivers/helpers/helpers.d.ts.map +0 -1
- package/dist/drivers/helpers/logs_handle.d.ts +0 -15
- package/dist/drivers/helpers/logs_handle.d.ts.map +0 -1
- package/dist/drivers/helpers/ls_remote_import_handle.d.ts +0 -8
- package/dist/drivers/helpers/ls_remote_import_handle.d.ts.map +0 -1
- package/dist/drivers/helpers/ls_storage_entry.d.ts +0 -23
- package/dist/drivers/helpers/ls_storage_entry.d.ts.map +0 -1
- package/dist/drivers/helpers/polling_ops.d.ts.map +0 -1
- package/dist/drivers/helpers/read_file.d.ts +0 -12
- package/dist/drivers/helpers/read_file.d.ts.map +0 -1
- package/dist/drivers/helpers/test_helpers.d.ts +0 -2
- package/dist/drivers/helpers/test_helpers.d.ts.map +0 -1
- package/dist/drivers/logs.d.ts.map +0 -1
- package/dist/drivers/logs_stream.d.ts.map +0 -1
- package/dist/drivers/ls.d.ts.map +0 -1
- package/dist/drivers/types.d.ts.map +0 -1
- package/dist/drivers/upload.d.ts.map +0 -1
- package/dist/drivers/upload_task.d.ts.map +0 -1
- package/dist/drivers/urls/url.d.ts +0 -13
- package/dist/drivers/urls/url.d.ts.map +0 -1
- package/dist/drivers/virtual_storages.d.ts.map +0 -1
- package/dist/helpers/download.d.ts.map +0 -1
- package/dist/helpers/download_errors.d.ts.map +0 -1
- package/dist/helpers/validate.d.ts.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.d.ts +0 -46
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.d.ts +0 -108
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.d.ts.map +0 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.d.ts.map +0 -1
- package/dist/proto-grpc/google/api/http.d.ts +0 -460
- package/dist/proto-grpc/google/api/http.d.ts.map +0 -1
- package/dist/proto-grpc/google/protobuf/descriptor.d.ts +0 -2340
- package/dist/proto-grpc/google/protobuf/descriptor.d.ts.map +0 -1
- package/dist/proto-grpc/google/protobuf/duration.d.ts.map +0 -1
- package/dist/proto-grpc/google/protobuf/timestamp.d.ts.map +0 -1
- package/dist/proto-rest/downloadapi.d.ts.map +0 -1
- package/dist/proto-rest/index.d.ts.map +0 -1
- package/dist/proto-rest/lsapi.d.ts +0 -148
- package/dist/proto-rest/lsapi.d.ts.map +0 -1
- package/dist/proto-rest/progressapi.d.ts.map +0 -1
- package/dist/proto-rest/streamingapi.d.ts.map +0 -1
- package/dist/proto-rest/uploadapi.d.ts +0 -355
- package/dist/proto-rest/uploadapi.d.ts.map +0 -1
- package/dist/test_env.d.ts +0 -6
- package/dist/test_env.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read_file.js","sources":["../../../src/drivers/helpers/read_file.ts"],"sourcesContent":["import { ConcurrencyLimitingExecutor } from \"@milaboratories/ts-helpers\";\nimport type { RangeBytes } from \"@milaboratories/pl-model-common\";\nimport * as fs from \"node:fs\";\nimport * as fsp from \"node:fs/promises\";\nimport { Readable } from \"node:stream\";\n\n// Global concurrency limiter for file reads - limit to 32 parallel reads\nconst fileReadLimiter = new ConcurrencyLimitingExecutor(32);\n\n/**\n * Reads file content with concurrency limiting and proper error handling.\n * Ensures file descriptors are properly cleaned up even in error cases.\n */\nexport async function withFileContent<T>({\n path,\n range,\n signal,\n handler,\n}: {\n path: string;\n range?: RangeBytes;\n signal?: AbortSignal;\n handler: (content: ReadableStream, size: number) => Promise<T>;\n}): Promise<T> {\n return await fileReadLimiter.run(async () => {\n const readOps = {\n start: range?.from,\n end: range?.to !== undefined ? range.to - 1 : undefined,\n signal: signal,\n };\n let stream: fs.ReadStream | undefined;\n let handlerSuccess = false;\n\n try {\n const stat = await fsp.stat(path);\n stream = fs.createReadStream(path, readOps);\n const webStream = Readable.toWeb(stream);\n\n const result = await handler(webStream, stat.size);\n handlerSuccess = true;\n return result;\n } catch (error) {\n // Cleanup on error (including handler errors)\n if (!handlerSuccess && stream && !stream.destroyed) {\n stream.destroy();\n }\n throw error;\n }\n });\n}\n"],"
|
|
1
|
+
{"version":3,"file":"read_file.js","names":["fs"],"sources":["../../../src/drivers/helpers/read_file.ts"],"sourcesContent":["import { ConcurrencyLimitingExecutor } from \"@milaboratories/ts-helpers\";\nimport type { RangeBytes } from \"@milaboratories/pl-model-common\";\nimport * as fs from \"node:fs\";\nimport * as fsp from \"node:fs/promises\";\nimport { Readable } from \"node:stream\";\n\n// Global concurrency limiter for file reads - limit to 32 parallel reads\nconst fileReadLimiter = new ConcurrencyLimitingExecutor(32);\n\n/**\n * Reads file content with concurrency limiting and proper error handling.\n * Ensures file descriptors are properly cleaned up even in error cases.\n */\nexport async function withFileContent<T>({\n path,\n range,\n signal,\n handler,\n}: {\n path: string;\n range?: RangeBytes;\n signal?: AbortSignal;\n handler: (content: ReadableStream, size: number) => Promise<T>;\n}): Promise<T> {\n return await fileReadLimiter.run(async () => {\n const readOps = {\n start: range?.from,\n end: range?.to !== undefined ? range.to - 1 : undefined,\n signal: signal,\n };\n let stream: fs.ReadStream | undefined;\n let handlerSuccess = false;\n\n try {\n const stat = await fsp.stat(path);\n stream = fs.createReadStream(path, readOps);\n const webStream = Readable.toWeb(stream);\n\n const result = await handler(webStream, stat.size);\n handlerSuccess = true;\n return result;\n } catch (error) {\n // Cleanup on error (including handler errors)\n if (!handlerSuccess && stream && !stream.destroyed) {\n stream.destroy();\n }\n throw error;\n }\n });\n}\n"],"mappings":";;;;;;AAOA,MAAM,kBAAkB,IAAI,4BAA4B,GAAG;;;;;AAM3D,eAAsB,gBAAmB,EACvC,MACA,OACA,QACA,WAMa;AACb,QAAO,MAAM,gBAAgB,IAAI,YAAY;EAC3C,MAAM,UAAU;GACd,OAAO,OAAO;GACd,KAAK,OAAO,OAAO,SAAY,MAAM,KAAK,IAAI;GACtC;GACT;EACD,IAAI;EACJ,IAAI,iBAAiB;AAErB,MAAI;GACF,MAAM,OAAO,MAAM,IAAI,KAAK,KAAK;AACjC,YAASA,KAAG,iBAAiB,MAAM,QAAQ;GAG3C,MAAM,SAAS,MAAM,QAFH,SAAS,MAAM,OAAO,EAEA,KAAK,KAAK;AAClD,oBAAiB;AACjB,UAAO;WACA,OAAO;AAEd,OAAI,CAAC,kBAAkB,UAAU,CAAC,OAAO,UACvC,QAAO,SAAS;AAElB,SAAM;;GAER"}
|
package/dist/drivers/logs.cjs
CHANGED
|
@@ -1,119 +1,101 @@
|
|
|
1
|
-
|
|
1
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_logs_handle = require('./helpers/logs_handle.cjs');
|
|
3
|
+
let _milaboratories_pl_client = require("@milaboratories/pl-client");
|
|
4
|
+
let _milaboratories_computable = require("@milaboratories/computable");
|
|
2
5
|
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (ctx === undefined)
|
|
90
|
-
return computable.Computable.make((ctx) => this.getLogHandle(res, ctx));
|
|
91
|
-
const stream = streamManagerGetStream(ctx, res);
|
|
92
|
-
if (stream === undefined) {
|
|
93
|
-
ctx.markUnstable("no stream in stream manager");
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
if (isBlob(stream))
|
|
97
|
-
return this.downloadDriver.getLogHandle(stream, ctx);
|
|
98
|
-
return this.logsStreamDriver.getLogHandle(stream, ctx);
|
|
99
|
-
}
|
|
100
|
-
async lastLines(handle, lineCount, offsetBytes, searchStr) {
|
|
101
|
-
if (logs_handle.isLiveLogHandle(handle))
|
|
102
|
-
return await this.logsStreamDriver.lastLines(handle, lineCount, offsetBytes, searchStr);
|
|
103
|
-
return await this.downloadDriver.lastLines(handle, lineCount, offsetBytes, searchStr);
|
|
104
|
-
}
|
|
105
|
-
async readText(handle, lineCount, offsetBytes, searchStr) {
|
|
106
|
-
if (logs_handle.isLiveLogHandle(handle))
|
|
107
|
-
return await this.logsStreamDriver.readText(handle, lineCount, offsetBytes, searchStr);
|
|
108
|
-
return await this.downloadDriver.readText(handle, lineCount, offsetBytes, searchStr);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
6
|
+
//#region src/drivers/logs.ts
|
|
7
|
+
var LogsDriver = class {
|
|
8
|
+
constructor(logger, logsStreamDriver, downloadDriver) {
|
|
9
|
+
this.logger = logger;
|
|
10
|
+
this.logsStreamDriver = logsStreamDriver;
|
|
11
|
+
this.downloadDriver = downloadDriver;
|
|
12
|
+
}
|
|
13
|
+
getLastLogs(res, lines, ctx) {
|
|
14
|
+
if (ctx === void 0) return _milaboratories_computable.Computable.make((ctx) => this.getLastLogs(res, lines, ctx));
|
|
15
|
+
const stream = streamManagerGetStream(ctx, res);
|
|
16
|
+
if (stream === void 0) {
|
|
17
|
+
ctx.markUnstable("no stream in stream manager");
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (isBlob(stream)) return this.downloadDriver.getLastLogs(stream, lines, ctx);
|
|
21
|
+
try {
|
|
22
|
+
return this.logsStreamDriver.getLastLogs(stream, lines, ctx);
|
|
23
|
+
} catch (e) {
|
|
24
|
+
if ((0, _milaboratories_pl_client.isNotFoundError)(e)) {
|
|
25
|
+
ctx.markUnstable(`NOT_FOUND in logs stream driver while getting last logs: ${e}`);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
throw e;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
getProgressLog(res, patternToSearch, ctx) {
|
|
32
|
+
if (ctx === void 0) return _milaboratories_computable.Computable.make((ctx) => this.getProgressLog(res, patternToSearch, ctx));
|
|
33
|
+
const stream = streamManagerGetStream(ctx, res);
|
|
34
|
+
if (stream === void 0) {
|
|
35
|
+
ctx.markUnstable("no stream in stream manager");
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (isBlob(stream)) return this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);
|
|
39
|
+
try {
|
|
40
|
+
return this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);
|
|
41
|
+
} catch (e) {
|
|
42
|
+
if ((0, _milaboratories_pl_client.isNotFoundError)(e)) {
|
|
43
|
+
ctx.markUnstable(`NOT_FOUND in logs stream driver while getting a progress log: ${e}`);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
throw e;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
getProgressLogWithInfo(res, patternToSearch, ctx) {
|
|
50
|
+
if (ctx === void 0) return _milaboratories_computable.Computable.make((ctx) => this.getProgressLogWithInfo(res, patternToSearch, ctx));
|
|
51
|
+
const stream = streamManagerGetStream(ctx, res);
|
|
52
|
+
if (stream === void 0) {
|
|
53
|
+
ctx.markUnstable("no stream in stream manager");
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (isBlob(stream)) return {
|
|
57
|
+
progressLine: this.downloadDriver.getProgressLog(stream, patternToSearch, ctx),
|
|
58
|
+
live: false
|
|
59
|
+
};
|
|
60
|
+
try {
|
|
61
|
+
return {
|
|
62
|
+
progressLine: this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx),
|
|
63
|
+
live: true
|
|
64
|
+
};
|
|
65
|
+
} catch (e) {
|
|
66
|
+
if ((0, _milaboratories_pl_client.isNotFoundError)(e)) {
|
|
67
|
+
ctx.markUnstable(`NOT_FOUND in logs stream driver while getting a progress log with info: ${e}`);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
throw e;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
getLogHandle(res, ctx) {
|
|
74
|
+
if (ctx === void 0) return _milaboratories_computable.Computable.make((ctx) => this.getLogHandle(res, ctx));
|
|
75
|
+
const stream = streamManagerGetStream(ctx, res);
|
|
76
|
+
if (stream === void 0) {
|
|
77
|
+
ctx.markUnstable("no stream in stream manager");
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (isBlob(stream)) return this.downloadDriver.getLogHandle(stream, ctx);
|
|
81
|
+
return this.logsStreamDriver.getLogHandle(stream, ctx);
|
|
82
|
+
}
|
|
83
|
+
async lastLines(handle, lineCount, offsetBytes, searchStr) {
|
|
84
|
+
if (require_logs_handle.isLiveLogHandle(handle)) return await this.logsStreamDriver.lastLines(handle, lineCount, offsetBytes, searchStr);
|
|
85
|
+
return await this.downloadDriver.lastLines(handle, lineCount, offsetBytes, searchStr);
|
|
86
|
+
}
|
|
87
|
+
async readText(handle, lineCount, offsetBytes, searchStr) {
|
|
88
|
+
if (require_logs_handle.isLiveLogHandle(handle)) return await this.logsStreamDriver.readText(handle, lineCount, offsetBytes, searchStr);
|
|
89
|
+
return await this.downloadDriver.readText(handle, lineCount, offsetBytes, searchStr);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
111
92
|
function isBlob(rInfo) {
|
|
112
|
-
|
|
93
|
+
return !rInfo.type.name.startsWith("StreamWorkdir");
|
|
113
94
|
}
|
|
114
95
|
function streamManagerGetStream(ctx, manager) {
|
|
115
|
-
|
|
96
|
+
return ctx.accessor(manager).node().traverse("stream")?.resourceInfo;
|
|
116
97
|
}
|
|
117
98
|
|
|
99
|
+
//#endregion
|
|
118
100
|
exports.LogsDriver = LogsDriver;
|
|
119
|
-
//# sourceMappingURL=logs.cjs.map
|
|
101
|
+
//# sourceMappingURL=logs.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.cjs","sources":["../../src/drivers/logs.ts"],"sourcesContent":["import type { ComputableCtx } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { PlTreeEntry, ResourceInfo } from \"@milaboratories/pl-tree\";\nimport type { LogsStreamDriver } from \"./logs_stream\";\nimport type * as sdk from \"@milaboratories/pl-model-common\";\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport type { DownloadDriver } from \"./download_blob/download_blob\";\nimport { isLiveLogHandle } from \"./helpers/logs_handle\";\nimport { isNotFoundError } from \"@milaboratories/pl-client\";\n\nexport class LogsDriver implements sdk.LogsDriver {\n constructor(\n private readonly logger: MiLogger,\n private readonly logsStreamDriver: LogsStreamDriver,\n private readonly downloadDriver: DownloadDriver,\n ) {}\n\n /** Returns all logs and schedules a job that reads remain logs.\n * Notifies when a new portion of the log appeared. */\n getLastLogs(res: PlTreeEntry, lines: number): Computable<string | undefined>;\n getLastLogs(res: PlTreeEntry, lines: number, ctx: ComputableCtx): Computable<string | undefined>;\n getLastLogs(\n res: PlTreeEntry,\n lines: number,\n ctx?: ComputableCtx,\n ): Computable<string | undefined> | string | undefined {\n if (ctx === undefined) return Computable.make((ctx) => this.getLastLogs(res, lines, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getLastLogs(stream, lines, ctx);\n\n try {\n return this.logsStreamDriver.getLastLogs(stream, lines, ctx);\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(`NOT_FOUND in logs stream driver while getting last logs: ${e}`);\n return undefined;\n }\n throw e;\n }\n }\n\n /** Returns a last line that has patternToSearch.\n * Notifies when a new line appeared or EOF reached. */\n getProgressLog(res: PlTreeEntry, patternToSearch: string): Computable<string | undefined>;\n getProgressLog(res: PlTreeEntry, patternToSearch: string, ctx: ComputableCtx): string | undefined;\n getProgressLog(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx?: ComputableCtx,\n ): Computable<string | undefined> | string | undefined {\n if (ctx === undefined)\n return Computable.make((ctx) => this.getProgressLog(res, patternToSearch, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);\n\n try {\n return this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(`NOT_FOUND in logs stream driver while getting a progress log: ${e}`);\n return undefined;\n }\n throw e;\n }\n }\n\n /** Same as getProgressLog but also returns a liveliness of the log.\n * The previous getProgressLog couldn't be extended.\n * Returns a last line that has patternToSearch.\n * Notifies when a new line appeared or EOF reached. */\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ): Computable<sdk.ProgressLogWithInfo | undefined>;\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx: ComputableCtx,\n ): sdk.ProgressLogWithInfo | undefined;\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx?: ComputableCtx,\n ): Computable<sdk.ProgressLogWithInfo | undefined> | sdk.ProgressLogWithInfo | undefined {\n if (ctx === undefined)\n return Computable.make((ctx) => this.getProgressLogWithInfo(res, patternToSearch, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) {\n const log = this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);\n return {\n progressLine: log,\n live: false,\n };\n }\n\n try {\n const log = this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);\n return {\n progressLine: log,\n live: true,\n };\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(\n `NOT_FOUND in logs stream driver while getting a progress log with info: ${e}`,\n );\n return undefined;\n }\n throw e;\n }\n }\n\n /** Returns an Id of a smart object, that can read logs directly from\n * the platform. */\n getLogHandle(res: ResourceInfo | PlTreeEntry): Computable<sdk.AnyLogHandle | undefined>;\n getLogHandle(res: PlTreeEntry, ctx: ComputableCtx): sdk.AnyLogHandle | undefined;\n getLogHandle(\n res: PlTreeEntry,\n ctx?: ComputableCtx,\n ): Computable<sdk.AnyLogHandle | undefined> | sdk.AnyLogHandle | undefined {\n if (ctx === undefined) return Computable.make((ctx) => this.getLogHandle(res, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getLogHandle(stream, ctx);\n\n return this.logsStreamDriver.getLogHandle(stream, ctx);\n }\n\n async lastLines(\n handle: sdk.AnyLogHandle,\n lineCount: number,\n offsetBytes?: number,\n searchStr?: string,\n ): Promise<sdk.StreamingApiResponse> {\n if (isLiveLogHandle(handle))\n return await this.logsStreamDriver.lastLines(handle, lineCount, offsetBytes, searchStr);\n return await this.downloadDriver.lastLines(handle, lineCount, offsetBytes, searchStr);\n }\n\n async readText(\n handle: sdk.AnyLogHandle,\n lineCount: number,\n offsetBytes?: number,\n searchStr?: string,\n ): Promise<sdk.StreamingApiResponse> {\n if (isLiveLogHandle(handle))\n return await this.logsStreamDriver.readText(handle, lineCount, offsetBytes, searchStr);\n return await this.downloadDriver.readText(handle, lineCount, offsetBytes, searchStr);\n }\n}\n\nfunction isBlob(rInfo: ResourceInfo) {\n return !rInfo.type.name.startsWith(\"StreamWorkdir\");\n}\n\nfunction streamManagerGetStream(ctx: ComputableCtx, manager: PlTreeEntry) {\n return ctx.accessor(manager).node().traverse(\"stream\")?.resourceInfo;\n}\n"],"names":["Computable","isNotFoundError","isLiveLogHandle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logs.cjs","names":["Computable","isLiveLogHandle"],"sources":["../../src/drivers/logs.ts"],"sourcesContent":["import type { ComputableCtx } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { PlTreeEntry, ResourceInfo } from \"@milaboratories/pl-tree\";\nimport type { LogsStreamDriver } from \"./logs_stream\";\nimport type * as sdk from \"@milaboratories/pl-model-common\";\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport type { DownloadDriver } from \"./download_blob/download_blob\";\nimport { isLiveLogHandle } from \"./helpers/logs_handle\";\nimport { isNotFoundError } from \"@milaboratories/pl-client\";\n\nexport class LogsDriver implements sdk.LogsDriver {\n constructor(\n private readonly logger: MiLogger,\n private readonly logsStreamDriver: LogsStreamDriver,\n private readonly downloadDriver: DownloadDriver,\n ) {}\n\n /** Returns all logs and schedules a job that reads remain logs.\n * Notifies when a new portion of the log appeared. */\n getLastLogs(res: PlTreeEntry, lines: number): Computable<string | undefined>;\n getLastLogs(res: PlTreeEntry, lines: number, ctx: ComputableCtx): Computable<string | undefined>;\n getLastLogs(\n res: PlTreeEntry,\n lines: number,\n ctx?: ComputableCtx,\n ): Computable<string | undefined> | string | undefined {\n if (ctx === undefined) return Computable.make((ctx) => this.getLastLogs(res, lines, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getLastLogs(stream, lines, ctx);\n\n try {\n return this.logsStreamDriver.getLastLogs(stream, lines, ctx);\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(`NOT_FOUND in logs stream driver while getting last logs: ${e}`);\n return undefined;\n }\n throw e;\n }\n }\n\n /** Returns a last line that has patternToSearch.\n * Notifies when a new line appeared or EOF reached. */\n getProgressLog(res: PlTreeEntry, patternToSearch: string): Computable<string | undefined>;\n getProgressLog(res: PlTreeEntry, patternToSearch: string, ctx: ComputableCtx): string | undefined;\n getProgressLog(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx?: ComputableCtx,\n ): Computable<string | undefined> | string | undefined {\n if (ctx === undefined)\n return Computable.make((ctx) => this.getProgressLog(res, patternToSearch, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);\n\n try {\n return this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(`NOT_FOUND in logs stream driver while getting a progress log: ${e}`);\n return undefined;\n }\n throw e;\n }\n }\n\n /** Same as getProgressLog but also returns a liveliness of the log.\n * The previous getProgressLog couldn't be extended.\n * Returns a last line that has patternToSearch.\n * Notifies when a new line appeared or EOF reached. */\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ): Computable<sdk.ProgressLogWithInfo | undefined>;\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx: ComputableCtx,\n ): sdk.ProgressLogWithInfo | undefined;\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx?: ComputableCtx,\n ): Computable<sdk.ProgressLogWithInfo | undefined> | sdk.ProgressLogWithInfo | undefined {\n if (ctx === undefined)\n return Computable.make((ctx) => this.getProgressLogWithInfo(res, patternToSearch, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) {\n const log = this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);\n return {\n progressLine: log,\n live: false,\n };\n }\n\n try {\n const log = this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);\n return {\n progressLine: log,\n live: true,\n };\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(\n `NOT_FOUND in logs stream driver while getting a progress log with info: ${e}`,\n );\n return undefined;\n }\n throw e;\n }\n }\n\n /** Returns an Id of a smart object, that can read logs directly from\n * the platform. */\n getLogHandle(res: ResourceInfo | PlTreeEntry): Computable<sdk.AnyLogHandle | undefined>;\n getLogHandle(res: PlTreeEntry, ctx: ComputableCtx): sdk.AnyLogHandle | undefined;\n getLogHandle(\n res: PlTreeEntry,\n ctx?: ComputableCtx,\n ): Computable<sdk.AnyLogHandle | undefined> | sdk.AnyLogHandle | undefined {\n if (ctx === undefined) return Computable.make((ctx) => this.getLogHandle(res, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getLogHandle(stream, ctx);\n\n return this.logsStreamDriver.getLogHandle(stream, ctx);\n }\n\n async lastLines(\n handle: sdk.AnyLogHandle,\n lineCount: number,\n offsetBytes?: number,\n searchStr?: string,\n ): Promise<sdk.StreamingApiResponse> {\n if (isLiveLogHandle(handle))\n return await this.logsStreamDriver.lastLines(handle, lineCount, offsetBytes, searchStr);\n return await this.downloadDriver.lastLines(handle, lineCount, offsetBytes, searchStr);\n }\n\n async readText(\n handle: sdk.AnyLogHandle,\n lineCount: number,\n offsetBytes?: number,\n searchStr?: string,\n ): Promise<sdk.StreamingApiResponse> {\n if (isLiveLogHandle(handle))\n return await this.logsStreamDriver.readText(handle, lineCount, offsetBytes, searchStr);\n return await this.downloadDriver.readText(handle, lineCount, offsetBytes, searchStr);\n }\n}\n\nfunction isBlob(rInfo: ResourceInfo) {\n return !rInfo.type.name.startsWith(\"StreamWorkdir\");\n}\n\nfunction streamManagerGetStream(ctx: ComputableCtx, manager: PlTreeEntry) {\n return ctx.accessor(manager).node().traverse(\"stream\")?.resourceInfo;\n}\n"],"mappings":"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"}
|
package/dist/drivers/logs.d.ts
CHANGED
|
@@ -1,34 +1,37 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { DownloadDriver } from "./download_blob/download_blob.js";
|
|
2
|
+
import { LogsStreamDriver } from "./logs_stream.js";
|
|
3
|
+
import { MiLogger } from "@milaboratories/ts-helpers";
|
|
4
|
+
import { Computable, ComputableCtx } from "@milaboratories/computable";
|
|
5
|
+
import * as sdk from "@milaboratories/pl-model-common";
|
|
6
|
+
import { PlTreeEntry, ResourceInfo } from "@milaboratories/pl-tree";
|
|
7
|
+
|
|
8
|
+
//#region src/drivers/logs.d.ts
|
|
9
|
+
declare class LogsDriver implements sdk.LogsDriver {
|
|
10
|
+
private readonly logger;
|
|
11
|
+
private readonly logsStreamDriver;
|
|
12
|
+
private readonly downloadDriver;
|
|
13
|
+
constructor(logger: MiLogger, logsStreamDriver: LogsStreamDriver, downloadDriver: DownloadDriver);
|
|
14
|
+
/** Returns all logs and schedules a job that reads remain logs.
|
|
15
|
+
* Notifies when a new portion of the log appeared. */
|
|
16
|
+
getLastLogs(res: PlTreeEntry, lines: number): Computable<string | undefined>;
|
|
17
|
+
getLastLogs(res: PlTreeEntry, lines: number, ctx: ComputableCtx): Computable<string | undefined>;
|
|
18
|
+
/** Returns a last line that has patternToSearch.
|
|
19
|
+
* Notifies when a new line appeared or EOF reached. */
|
|
20
|
+
getProgressLog(res: PlTreeEntry, patternToSearch: string): Computable<string | undefined>;
|
|
21
|
+
getProgressLog(res: PlTreeEntry, patternToSearch: string, ctx: ComputableCtx): string | undefined;
|
|
22
|
+
/** Same as getProgressLog but also returns a liveliness of the log.
|
|
23
|
+
* The previous getProgressLog couldn't be extended.
|
|
24
|
+
* Returns a last line that has patternToSearch.
|
|
25
|
+
* Notifies when a new line appeared or EOF reached. */
|
|
26
|
+
getProgressLogWithInfo(res: PlTreeEntry, patternToSearch: string): Computable<sdk.ProgressLogWithInfo | undefined>;
|
|
27
|
+
getProgressLogWithInfo(res: PlTreeEntry, patternToSearch: string, ctx: ComputableCtx): sdk.ProgressLogWithInfo | undefined;
|
|
28
|
+
/** Returns an Id of a smart object, that can read logs directly from
|
|
29
|
+
* the platform. */
|
|
30
|
+
getLogHandle(res: ResourceInfo | PlTreeEntry): Computable<sdk.AnyLogHandle | undefined>;
|
|
31
|
+
getLogHandle(res: PlTreeEntry, ctx: ComputableCtx): sdk.AnyLogHandle | undefined;
|
|
32
|
+
lastLines(handle: sdk.AnyLogHandle, lineCount: number, offsetBytes?: number, searchStr?: string): Promise<sdk.StreamingApiResponse>;
|
|
33
|
+
readText(handle: sdk.AnyLogHandle, lineCount: number, offsetBytes?: number, searchStr?: string): Promise<sdk.StreamingApiResponse>;
|
|
33
34
|
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { LogsDriver };
|
|
34
37
|
//# sourceMappingURL=logs.d.ts.map
|
package/dist/drivers/logs.js
CHANGED
|
@@ -1,117 +1,100 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { isLiveLogHandle } from "./helpers/logs_handle.js";
|
|
2
|
+
import { isNotFoundError } from "@milaboratories/pl-client";
|
|
3
|
+
import { Computable } from "@milaboratories/computable";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
ctx.markUnstable("no stream in stream manager");
|
|
92
|
-
return undefined;
|
|
93
|
-
}
|
|
94
|
-
if (isBlob(stream))
|
|
95
|
-
return this.downloadDriver.getLogHandle(stream, ctx);
|
|
96
|
-
return this.logsStreamDriver.getLogHandle(stream, ctx);
|
|
97
|
-
}
|
|
98
|
-
async lastLines(handle, lineCount, offsetBytes, searchStr) {
|
|
99
|
-
if (isLiveLogHandle(handle))
|
|
100
|
-
return await this.logsStreamDriver.lastLines(handle, lineCount, offsetBytes, searchStr);
|
|
101
|
-
return await this.downloadDriver.lastLines(handle, lineCount, offsetBytes, searchStr);
|
|
102
|
-
}
|
|
103
|
-
async readText(handle, lineCount, offsetBytes, searchStr) {
|
|
104
|
-
if (isLiveLogHandle(handle))
|
|
105
|
-
return await this.logsStreamDriver.readText(handle, lineCount, offsetBytes, searchStr);
|
|
106
|
-
return await this.downloadDriver.readText(handle, lineCount, offsetBytes, searchStr);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
5
|
+
//#region src/drivers/logs.ts
|
|
6
|
+
var LogsDriver = class {
|
|
7
|
+
constructor(logger, logsStreamDriver, downloadDriver) {
|
|
8
|
+
this.logger = logger;
|
|
9
|
+
this.logsStreamDriver = logsStreamDriver;
|
|
10
|
+
this.downloadDriver = downloadDriver;
|
|
11
|
+
}
|
|
12
|
+
getLastLogs(res, lines, ctx) {
|
|
13
|
+
if (ctx === void 0) return Computable.make((ctx) => this.getLastLogs(res, lines, ctx));
|
|
14
|
+
const stream = streamManagerGetStream(ctx, res);
|
|
15
|
+
if (stream === void 0) {
|
|
16
|
+
ctx.markUnstable("no stream in stream manager");
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (isBlob(stream)) return this.downloadDriver.getLastLogs(stream, lines, ctx);
|
|
20
|
+
try {
|
|
21
|
+
return this.logsStreamDriver.getLastLogs(stream, lines, ctx);
|
|
22
|
+
} catch (e) {
|
|
23
|
+
if (isNotFoundError(e)) {
|
|
24
|
+
ctx.markUnstable(`NOT_FOUND in logs stream driver while getting last logs: ${e}`);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
throw e;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
getProgressLog(res, patternToSearch, ctx) {
|
|
31
|
+
if (ctx === void 0) return Computable.make((ctx) => this.getProgressLog(res, patternToSearch, ctx));
|
|
32
|
+
const stream = streamManagerGetStream(ctx, res);
|
|
33
|
+
if (stream === void 0) {
|
|
34
|
+
ctx.markUnstable("no stream in stream manager");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (isBlob(stream)) return this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);
|
|
38
|
+
try {
|
|
39
|
+
return this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);
|
|
40
|
+
} catch (e) {
|
|
41
|
+
if (isNotFoundError(e)) {
|
|
42
|
+
ctx.markUnstable(`NOT_FOUND in logs stream driver while getting a progress log: ${e}`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
throw e;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
getProgressLogWithInfo(res, patternToSearch, ctx) {
|
|
49
|
+
if (ctx === void 0) return Computable.make((ctx) => this.getProgressLogWithInfo(res, patternToSearch, ctx));
|
|
50
|
+
const stream = streamManagerGetStream(ctx, res);
|
|
51
|
+
if (stream === void 0) {
|
|
52
|
+
ctx.markUnstable("no stream in stream manager");
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (isBlob(stream)) return {
|
|
56
|
+
progressLine: this.downloadDriver.getProgressLog(stream, patternToSearch, ctx),
|
|
57
|
+
live: false
|
|
58
|
+
};
|
|
59
|
+
try {
|
|
60
|
+
return {
|
|
61
|
+
progressLine: this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx),
|
|
62
|
+
live: true
|
|
63
|
+
};
|
|
64
|
+
} catch (e) {
|
|
65
|
+
if (isNotFoundError(e)) {
|
|
66
|
+
ctx.markUnstable(`NOT_FOUND in logs stream driver while getting a progress log with info: ${e}`);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
throw e;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
getLogHandle(res, ctx) {
|
|
73
|
+
if (ctx === void 0) return Computable.make((ctx) => this.getLogHandle(res, ctx));
|
|
74
|
+
const stream = streamManagerGetStream(ctx, res);
|
|
75
|
+
if (stream === void 0) {
|
|
76
|
+
ctx.markUnstable("no stream in stream manager");
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (isBlob(stream)) return this.downloadDriver.getLogHandle(stream, ctx);
|
|
80
|
+
return this.logsStreamDriver.getLogHandle(stream, ctx);
|
|
81
|
+
}
|
|
82
|
+
async lastLines(handle, lineCount, offsetBytes, searchStr) {
|
|
83
|
+
if (isLiveLogHandle(handle)) return await this.logsStreamDriver.lastLines(handle, lineCount, offsetBytes, searchStr);
|
|
84
|
+
return await this.downloadDriver.lastLines(handle, lineCount, offsetBytes, searchStr);
|
|
85
|
+
}
|
|
86
|
+
async readText(handle, lineCount, offsetBytes, searchStr) {
|
|
87
|
+
if (isLiveLogHandle(handle)) return await this.logsStreamDriver.readText(handle, lineCount, offsetBytes, searchStr);
|
|
88
|
+
return await this.downloadDriver.readText(handle, lineCount, offsetBytes, searchStr);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
109
91
|
function isBlob(rInfo) {
|
|
110
|
-
|
|
92
|
+
return !rInfo.type.name.startsWith("StreamWorkdir");
|
|
111
93
|
}
|
|
112
94
|
function streamManagerGetStream(ctx, manager) {
|
|
113
|
-
|
|
95
|
+
return ctx.accessor(manager).node().traverse("stream")?.resourceInfo;
|
|
114
96
|
}
|
|
115
97
|
|
|
98
|
+
//#endregion
|
|
116
99
|
export { LogsDriver };
|
|
117
|
-
//# sourceMappingURL=logs.js.map
|
|
100
|
+
//# sourceMappingURL=logs.js.map
|
package/dist/drivers/logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sources":["../../src/drivers/logs.ts"],"sourcesContent":["import type { ComputableCtx } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { PlTreeEntry, ResourceInfo } from \"@milaboratories/pl-tree\";\nimport type { LogsStreamDriver } from \"./logs_stream\";\nimport type * as sdk from \"@milaboratories/pl-model-common\";\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport type { DownloadDriver } from \"./download_blob/download_blob\";\nimport { isLiveLogHandle } from \"./helpers/logs_handle\";\nimport { isNotFoundError } from \"@milaboratories/pl-client\";\n\nexport class LogsDriver implements sdk.LogsDriver {\n constructor(\n private readonly logger: MiLogger,\n private readonly logsStreamDriver: LogsStreamDriver,\n private readonly downloadDriver: DownloadDriver,\n ) {}\n\n /** Returns all logs and schedules a job that reads remain logs.\n * Notifies when a new portion of the log appeared. */\n getLastLogs(res: PlTreeEntry, lines: number): Computable<string | undefined>;\n getLastLogs(res: PlTreeEntry, lines: number, ctx: ComputableCtx): Computable<string | undefined>;\n getLastLogs(\n res: PlTreeEntry,\n lines: number,\n ctx?: ComputableCtx,\n ): Computable<string | undefined> | string | undefined {\n if (ctx === undefined) return Computable.make((ctx) => this.getLastLogs(res, lines, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getLastLogs(stream, lines, ctx);\n\n try {\n return this.logsStreamDriver.getLastLogs(stream, lines, ctx);\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(`NOT_FOUND in logs stream driver while getting last logs: ${e}`);\n return undefined;\n }\n throw e;\n }\n }\n\n /** Returns a last line that has patternToSearch.\n * Notifies when a new line appeared or EOF reached. */\n getProgressLog(res: PlTreeEntry, patternToSearch: string): Computable<string | undefined>;\n getProgressLog(res: PlTreeEntry, patternToSearch: string, ctx: ComputableCtx): string | undefined;\n getProgressLog(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx?: ComputableCtx,\n ): Computable<string | undefined> | string | undefined {\n if (ctx === undefined)\n return Computable.make((ctx) => this.getProgressLog(res, patternToSearch, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);\n\n try {\n return this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(`NOT_FOUND in logs stream driver while getting a progress log: ${e}`);\n return undefined;\n }\n throw e;\n }\n }\n\n /** Same as getProgressLog but also returns a liveliness of the log.\n * The previous getProgressLog couldn't be extended.\n * Returns a last line that has patternToSearch.\n * Notifies when a new line appeared or EOF reached. */\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ): Computable<sdk.ProgressLogWithInfo | undefined>;\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx: ComputableCtx,\n ): sdk.ProgressLogWithInfo | undefined;\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx?: ComputableCtx,\n ): Computable<sdk.ProgressLogWithInfo | undefined> | sdk.ProgressLogWithInfo | undefined {\n if (ctx === undefined)\n return Computable.make((ctx) => this.getProgressLogWithInfo(res, patternToSearch, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) {\n const log = this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);\n return {\n progressLine: log,\n live: false,\n };\n }\n\n try {\n const log = this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);\n return {\n progressLine: log,\n live: true,\n };\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(\n `NOT_FOUND in logs stream driver while getting a progress log with info: ${e}`,\n );\n return undefined;\n }\n throw e;\n }\n }\n\n /** Returns an Id of a smart object, that can read logs directly from\n * the platform. */\n getLogHandle(res: ResourceInfo | PlTreeEntry): Computable<sdk.AnyLogHandle | undefined>;\n getLogHandle(res: PlTreeEntry, ctx: ComputableCtx): sdk.AnyLogHandle | undefined;\n getLogHandle(\n res: PlTreeEntry,\n ctx?: ComputableCtx,\n ): Computable<sdk.AnyLogHandle | undefined> | sdk.AnyLogHandle | undefined {\n if (ctx === undefined) return Computable.make((ctx) => this.getLogHandle(res, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getLogHandle(stream, ctx);\n\n return this.logsStreamDriver.getLogHandle(stream, ctx);\n }\n\n async lastLines(\n handle: sdk.AnyLogHandle,\n lineCount: number,\n offsetBytes?: number,\n searchStr?: string,\n ): Promise<sdk.StreamingApiResponse> {\n if (isLiveLogHandle(handle))\n return await this.logsStreamDriver.lastLines(handle, lineCount, offsetBytes, searchStr);\n return await this.downloadDriver.lastLines(handle, lineCount, offsetBytes, searchStr);\n }\n\n async readText(\n handle: sdk.AnyLogHandle,\n lineCount: number,\n offsetBytes?: number,\n searchStr?: string,\n ): Promise<sdk.StreamingApiResponse> {\n if (isLiveLogHandle(handle))\n return await this.logsStreamDriver.readText(handle, lineCount, offsetBytes, searchStr);\n return await this.downloadDriver.readText(handle, lineCount, offsetBytes, searchStr);\n }\n}\n\nfunction isBlob(rInfo: ResourceInfo) {\n return !rInfo.type.name.startsWith(\"StreamWorkdir\");\n}\n\nfunction streamManagerGetStream(ctx: ComputableCtx, manager: PlTreeEntry) {\n return ctx.accessor(manager).node().traverse(\"stream\")?.resourceInfo;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logs.js","names":[],"sources":["../../src/drivers/logs.ts"],"sourcesContent":["import type { ComputableCtx } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { PlTreeEntry, ResourceInfo } from \"@milaboratories/pl-tree\";\nimport type { LogsStreamDriver } from \"./logs_stream\";\nimport type * as sdk from \"@milaboratories/pl-model-common\";\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport type { DownloadDriver } from \"./download_blob/download_blob\";\nimport { isLiveLogHandle } from \"./helpers/logs_handle\";\nimport { isNotFoundError } from \"@milaboratories/pl-client\";\n\nexport class LogsDriver implements sdk.LogsDriver {\n constructor(\n private readonly logger: MiLogger,\n private readonly logsStreamDriver: LogsStreamDriver,\n private readonly downloadDriver: DownloadDriver,\n ) {}\n\n /** Returns all logs and schedules a job that reads remain logs.\n * Notifies when a new portion of the log appeared. */\n getLastLogs(res: PlTreeEntry, lines: number): Computable<string | undefined>;\n getLastLogs(res: PlTreeEntry, lines: number, ctx: ComputableCtx): Computable<string | undefined>;\n getLastLogs(\n res: PlTreeEntry,\n lines: number,\n ctx?: ComputableCtx,\n ): Computable<string | undefined> | string | undefined {\n if (ctx === undefined) return Computable.make((ctx) => this.getLastLogs(res, lines, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getLastLogs(stream, lines, ctx);\n\n try {\n return this.logsStreamDriver.getLastLogs(stream, lines, ctx);\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(`NOT_FOUND in logs stream driver while getting last logs: ${e}`);\n return undefined;\n }\n throw e;\n }\n }\n\n /** Returns a last line that has patternToSearch.\n * Notifies when a new line appeared or EOF reached. */\n getProgressLog(res: PlTreeEntry, patternToSearch: string): Computable<string | undefined>;\n getProgressLog(res: PlTreeEntry, patternToSearch: string, ctx: ComputableCtx): string | undefined;\n getProgressLog(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx?: ComputableCtx,\n ): Computable<string | undefined> | string | undefined {\n if (ctx === undefined)\n return Computable.make((ctx) => this.getProgressLog(res, patternToSearch, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);\n\n try {\n return this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(`NOT_FOUND in logs stream driver while getting a progress log: ${e}`);\n return undefined;\n }\n throw e;\n }\n }\n\n /** Same as getProgressLog but also returns a liveliness of the log.\n * The previous getProgressLog couldn't be extended.\n * Returns a last line that has patternToSearch.\n * Notifies when a new line appeared or EOF reached. */\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ): Computable<sdk.ProgressLogWithInfo | undefined>;\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx: ComputableCtx,\n ): sdk.ProgressLogWithInfo | undefined;\n getProgressLogWithInfo(\n res: PlTreeEntry,\n patternToSearch: string,\n ctx?: ComputableCtx,\n ): Computable<sdk.ProgressLogWithInfo | undefined> | sdk.ProgressLogWithInfo | undefined {\n if (ctx === undefined)\n return Computable.make((ctx) => this.getProgressLogWithInfo(res, patternToSearch, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) {\n const log = this.downloadDriver.getProgressLog(stream, patternToSearch, ctx);\n return {\n progressLine: log,\n live: false,\n };\n }\n\n try {\n const log = this.logsStreamDriver.getProgressLog(stream, patternToSearch, ctx);\n return {\n progressLine: log,\n live: true,\n };\n } catch (e: any) {\n if (isNotFoundError(e)) {\n ctx.markUnstable(\n `NOT_FOUND in logs stream driver while getting a progress log with info: ${e}`,\n );\n return undefined;\n }\n throw e;\n }\n }\n\n /** Returns an Id of a smart object, that can read logs directly from\n * the platform. */\n getLogHandle(res: ResourceInfo | PlTreeEntry): Computable<sdk.AnyLogHandle | undefined>;\n getLogHandle(res: PlTreeEntry, ctx: ComputableCtx): sdk.AnyLogHandle | undefined;\n getLogHandle(\n res: PlTreeEntry,\n ctx?: ComputableCtx,\n ): Computable<sdk.AnyLogHandle | undefined> | sdk.AnyLogHandle | undefined {\n if (ctx === undefined) return Computable.make((ctx) => this.getLogHandle(res, ctx));\n\n const stream = streamManagerGetStream(ctx, res);\n if (stream === undefined) {\n ctx.markUnstable(\"no stream in stream manager\");\n return undefined;\n }\n\n if (isBlob(stream)) return this.downloadDriver.getLogHandle(stream, ctx);\n\n return this.logsStreamDriver.getLogHandle(stream, ctx);\n }\n\n async lastLines(\n handle: sdk.AnyLogHandle,\n lineCount: number,\n offsetBytes?: number,\n searchStr?: string,\n ): Promise<sdk.StreamingApiResponse> {\n if (isLiveLogHandle(handle))\n return await this.logsStreamDriver.lastLines(handle, lineCount, offsetBytes, searchStr);\n return await this.downloadDriver.lastLines(handle, lineCount, offsetBytes, searchStr);\n }\n\n async readText(\n handle: sdk.AnyLogHandle,\n lineCount: number,\n offsetBytes?: number,\n searchStr?: string,\n ): Promise<sdk.StreamingApiResponse> {\n if (isLiveLogHandle(handle))\n return await this.logsStreamDriver.readText(handle, lineCount, offsetBytes, searchStr);\n return await this.downloadDriver.readText(handle, lineCount, offsetBytes, searchStr);\n }\n}\n\nfunction isBlob(rInfo: ResourceInfo) {\n return !rInfo.type.name.startsWith(\"StreamWorkdir\");\n}\n\nfunction streamManagerGetStream(ctx: ComputableCtx, manager: PlTreeEntry) {\n return ctx.accessor(manager).node().traverse(\"stream\")?.resourceInfo;\n}\n"],"mappings":";;;;;AAUA,IAAa,aAAb,MAAkD;CAChD,YACE,AAAiB,QACjB,AAAiB,kBACjB,AAAiB,gBACjB;EAHiB;EACA;EACA;;CAOnB,YACE,KACA,OACA,KACqD;AACrD,MAAI,QAAQ,OAAW,QAAO,WAAW,MAAM,QAAQ,KAAK,YAAY,KAAK,OAAO,IAAI,CAAC;EAEzF,MAAM,SAAS,uBAAuB,KAAK,IAAI;AAC/C,MAAI,WAAW,QAAW;AACxB,OAAI,aAAa,8BAA8B;AAC/C;;AAGF,MAAI,OAAO,OAAO,CAAE,QAAO,KAAK,eAAe,YAAY,QAAQ,OAAO,IAAI;AAE9E,MAAI;AACF,UAAO,KAAK,iBAAiB,YAAY,QAAQ,OAAO,IAAI;WACrD,GAAQ;AACf,OAAI,gBAAgB,EAAE,EAAE;AACtB,QAAI,aAAa,4DAA4D,IAAI;AACjF;;AAEF,SAAM;;;CAQV,eACE,KACA,iBACA,KACqD;AACrD,MAAI,QAAQ,OACV,QAAO,WAAW,MAAM,QAAQ,KAAK,eAAe,KAAK,iBAAiB,IAAI,CAAC;EAEjF,MAAM,SAAS,uBAAuB,KAAK,IAAI;AAC/C,MAAI,WAAW,QAAW;AACxB,OAAI,aAAa,8BAA8B;AAC/C;;AAGF,MAAI,OAAO,OAAO,CAAE,QAAO,KAAK,eAAe,eAAe,QAAQ,iBAAiB,IAAI;AAE3F,MAAI;AACF,UAAO,KAAK,iBAAiB,eAAe,QAAQ,iBAAiB,IAAI;WAClE,GAAQ;AACf,OAAI,gBAAgB,EAAE,EAAE;AACtB,QAAI,aAAa,iEAAiE,IAAI;AACtF;;AAEF,SAAM;;;CAiBV,uBACE,KACA,iBACA,KACuF;AACvF,MAAI,QAAQ,OACV,QAAO,WAAW,MAAM,QAAQ,KAAK,uBAAuB,KAAK,iBAAiB,IAAI,CAAC;EAEzF,MAAM,SAAS,uBAAuB,KAAK,IAAI;AAC/C,MAAI,WAAW,QAAW;AACxB,OAAI,aAAa,8BAA8B;AAC/C;;AAGF,MAAI,OAAO,OAAO,CAEhB,QAAO;GACL,cAFU,KAAK,eAAe,eAAe,QAAQ,iBAAiB,IAAI;GAG1E,MAAM;GACP;AAGH,MAAI;AAEF,UAAO;IACL,cAFU,KAAK,iBAAiB,eAAe,QAAQ,iBAAiB,IAAI;IAG5E,MAAM;IACP;WACM,GAAQ;AACf,OAAI,gBAAgB,EAAE,EAAE;AACtB,QAAI,aACF,2EAA2E,IAC5E;AACD;;AAEF,SAAM;;;CAQV,aACE,KACA,KACyE;AACzE,MAAI,QAAQ,OAAW,QAAO,WAAW,MAAM,QAAQ,KAAK,aAAa,KAAK,IAAI,CAAC;EAEnF,MAAM,SAAS,uBAAuB,KAAK,IAAI;AAC/C,MAAI,WAAW,QAAW;AACxB,OAAI,aAAa,8BAA8B;AAC/C;;AAGF,MAAI,OAAO,OAAO,CAAE,QAAO,KAAK,eAAe,aAAa,QAAQ,IAAI;AAExE,SAAO,KAAK,iBAAiB,aAAa,QAAQ,IAAI;;CAGxD,MAAM,UACJ,QACA,WACA,aACA,WACmC;AACnC,MAAI,gBAAgB,OAAO,CACzB,QAAO,MAAM,KAAK,iBAAiB,UAAU,QAAQ,WAAW,aAAa,UAAU;AACzF,SAAO,MAAM,KAAK,eAAe,UAAU,QAAQ,WAAW,aAAa,UAAU;;CAGvF,MAAM,SACJ,QACA,WACA,aACA,WACmC;AACnC,MAAI,gBAAgB,OAAO,CACzB,QAAO,MAAM,KAAK,iBAAiB,SAAS,QAAQ,WAAW,aAAa,UAAU;AACxF,SAAO,MAAM,KAAK,eAAe,SAAS,QAAQ,WAAW,aAAa,UAAU;;;AAIxF,SAAS,OAAO,OAAqB;AACnC,QAAO,CAAC,MAAM,KAAK,KAAK,WAAW,gBAAgB;;AAGrD,SAAS,uBAAuB,KAAoB,SAAsB;AACxE,QAAO,IAAI,SAAS,QAAQ,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE"}
|