neatlogs-cli 0.2.0-team-test.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,14 +4,28 @@ All notable changes to `neatlogs-cli` are documented in this file.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.2.0
8
+
9
+ - Include project archive/restore, soft deletion, existing-member access and
10
+ reviewer-aware evaluation activation commands from the production Public API.
11
+ - Add classifier label, dataset, training, publication and bounded historical-job
12
+ contracts. Paid jobs remain subject to deployment admission and explicit budgets.
13
+ - Map validated classifier input and resource-state errors to actionable exit
14
+ codes, retaining strict response validation and credential redaction.
15
+ - Align the embedded OpenAPI contract with the deployed production source.
16
+
17
+ ## 0.2.0-team-test.2
18
+
19
+ - Return input and resource-state exit codes for validated classifier errors,
20
+ while retaining server/contract exits for response limits, malformed problems,
21
+ and errors containing credential material.
22
+ - Include the merged Dev lifecycle, classifier, and bounded job contracts for
23
+ acceptance against the deployed Public API.
24
+
7
25
  ## 0.2.0-team-test.1
8
26
 
9
- - Add project archive, restore, soft deletion, and existing-member access commands.
10
- - Add evaluation draft discard and reviewer-aware activation commands.
11
- - Add classifier dataset, training, publication, and bounded job management commands.
12
- - Add bounded historical detection job commands and refresh the Public API contract.
13
- - Publish this candidate to the `team-test` channel for Dev acceptance; provider
14
- admission and historical backfill still require their environment prerequisites.
27
+ - Add project lifecycle, existing-member access, reviewer-aware evaluation activation,
28
+ classifier workflows, and bounded historical job commands for Dev acceptance.
15
29
 
16
30
  ## 0.1.0 (release candidate)
17
31
 
@@ -22,7 +36,7 @@ All notable changes to `neatlogs-cli` are documented in this file.
22
36
  contracts and safe request-ID diagnostics from the retest repairs.
23
37
  - Publication and deployed end-to-end acceptance remain release requirements.
24
38
 
25
- ## 0.1.0-team-test.7 (unpublished; superseded by 0.1.0)
39
+ ## 0.1.0-team-test.7
26
40
 
27
41
  - Include the merged fresh-start fixes: read-only default OAuth scopes and
28
42
  field-specific guidance for required analytics dates and other arguments.
@@ -79,3 +93,7 @@ All notable changes to `neatlogs-cli` are documented in this file.
79
93
  ## 0.1.0-team-test.1
80
94
 
81
95
  - Team-testing prerelease of the NeatLogs public API CLI.
96
+
97
+ ## 0.1.0
98
+
99
+ - Initial public release of the NeatLogs public API CLI.
package/README.md CHANGED
@@ -147,10 +147,6 @@ The consent page lists only the permissions requested by this login command.
147
147
  `offline_access` allows refresh tokens; it is not an API permission shown by
148
148
  `whoami`.
149
149
 
150
- Existing OAuth credentials retain their issued scopes after a CLI upgrade.
151
- Log out of the selected profile and sign in again to apply the stable release's
152
- read-oriented defaults; request write scopes explicitly when needed.
153
-
154
150
  ## Agent and CI automation
155
151
 
156
152
  In **Settings → Service Accounts**, create a dedicated account, bind only the
package/dist/bin.js CHANGED
@@ -148,7 +148,7 @@ var public_openapi_default = {
148
148
  description: "Local dev"
149
149
  },
150
150
  {
151
- url: "https://neatlogs-dev-cloud.neatlogs.com",
151
+ url: "https://cloud.neatlogs.com",
152
152
  description: "dev.neatlogs.com backend"
153
153
  },
154
154
  {
@@ -480,189 +480,6 @@ var public_openapi_default = {
480
480
  ],
481
481
  additionalProperties: false
482
482
  },
483
- PublicDetectionIssueSemanticsInput: {
484
- type: "object",
485
- properties: {
486
- schema_version: {
487
- type: "string",
488
- const: "detector-issue-semantics-v1"
489
- },
490
- polarity: {
491
- type: "string",
492
- enum: [
493
- "problem",
494
- "healthy",
495
- "informational",
496
- "unknown"
497
- ]
498
- },
499
- authority: {
500
- default: "none",
501
- type: "string",
502
- enum: [
503
- "none",
504
- "project_authoritative"
505
- ]
506
- },
507
- truth_role: {
508
- type: "string",
509
- minLength: 1,
510
- maxLength: 100
511
- },
512
- contract_id: {
513
- type: "string",
514
- minLength: 1,
515
- maxLength: 256
516
- },
517
- contract_version: {
518
- type: "string",
519
- minLength: 1,
520
- maxLength: 100
521
- }
522
- },
523
- required: [
524
- "schema_version",
525
- "polarity"
526
- ],
527
- additionalProperties: false
528
- },
529
- PublicDetectionIssueSemanticsOutput: {
530
- type: "object",
531
- properties: {
532
- schema_version: {
533
- type: "string",
534
- const: "detector-issue-semantics-v1"
535
- },
536
- polarity: {
537
- type: "string",
538
- enum: [
539
- "problem",
540
- "healthy",
541
- "informational",
542
- "unknown"
543
- ]
544
- },
545
- authority: {
546
- default: "none",
547
- type: "string",
548
- enum: [
549
- "none",
550
- "project_authoritative"
551
- ]
552
- },
553
- truth_role: {
554
- type: "string",
555
- minLength: 1,
556
- maxLength: 100
557
- },
558
- contract_id: {
559
- type: "string",
560
- minLength: 1,
561
- maxLength: 256
562
- },
563
- contract_version: {
564
- type: "string",
565
- minLength: 1,
566
- maxLength: 100
567
- }
568
- },
569
- required: [
570
- "schema_version",
571
- "polarity",
572
- "authority"
573
- ],
574
- additionalProperties: false
575
- },
576
- PublicDetectionSummary: {
577
- type: "object",
578
- properties: {
579
- createdAt: {
580
- type: "string",
581
- format: "date-time",
582
- pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
583
- },
584
- displayName: {
585
- type: "string",
586
- minLength: 1,
587
- maxLength: 255
588
- },
589
- groupId: {
590
- type: "string",
591
- format: "uuid",
592
- pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
593
- },
594
- groupName: {
595
- anyOf: [
596
- {
597
- type: "string",
598
- maxLength: 255
599
- },
600
- {
601
- type: "null"
602
- }
603
- ]
604
- },
605
- id: {
606
- type: "string",
607
- format: "uuid",
608
- pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
609
- },
610
- isActive: {
611
- type: "boolean"
612
- },
613
- issueSemantics: {
614
- anyOf: [
615
- {
616
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
617
- },
618
- {
619
- type: "null"
620
- }
621
- ]
622
- },
623
- slug: {
624
- type: "string",
625
- minLength: 1,
626
- maxLength: 100
627
- },
628
- threshold: {
629
- type: "number",
630
- minimum: 0,
631
- maximum: 1
632
- },
633
- type: {
634
- type: "string",
635
- enum: [
636
- "classifier",
637
- "regex",
638
- "conditional",
639
- "pii",
640
- "custom_trained",
641
- "code",
642
- "trace_rules",
643
- "decision"
644
- ]
645
- },
646
- updatedAt: {
647
- type: "string",
648
- format: "date-time",
649
- pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
650
- }
651
- },
652
- required: [
653
- "createdAt",
654
- "displayName",
655
- "groupId",
656
- "groupName",
657
- "id",
658
- "isActive",
659
- "slug",
660
- "threshold",
661
- "type",
662
- "updatedAt"
663
- ],
664
- additionalProperties: false
665
- },
666
483
  PublicSavedFilter: {
667
484
  additionalProperties: false,
668
485
  properties: {
@@ -39647,16 +39464,6 @@ var public_openapi_default = {
39647
39464
  default: true,
39648
39465
  type: "boolean"
39649
39466
  },
39650
- issueSemantics: {
39651
- anyOf: [
39652
- {
39653
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
39654
- },
39655
- {
39656
- type: "null"
39657
- }
39658
- ]
39659
- },
39660
39467
  runOn: {
39661
39468
  default: {
39662
39469
  frequency: "trace"
@@ -39794,16 +39601,6 @@ var public_openapi_default = {
39794
39601
  default: true,
39795
39602
  type: "boolean"
39796
39603
  },
39797
- issueSemantics: {
39798
- anyOf: [
39799
- {
39800
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
39801
- },
39802
- {
39803
- type: "null"
39804
- }
39805
- ]
39806
- },
39807
39604
  runOn: {
39808
39605
  default: {
39809
39606
  frequency: "trace"
@@ -39969,16 +39766,6 @@ var public_openapi_default = {
39969
39766
  default: true,
39970
39767
  type: "boolean"
39971
39768
  },
39972
- issueSemantics: {
39973
- anyOf: [
39974
- {
39975
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
39976
- },
39977
- {
39978
- type: "null"
39979
- }
39980
- ]
39981
- },
39982
39769
  runOn: {
39983
39770
  default: {
39984
39771
  frequency: "trace"
@@ -40818,16 +40605,6 @@ var public_openapi_default = {
40818
40605
  default: true,
40819
40606
  type: "boolean"
40820
40607
  },
40821
- issueSemantics: {
40822
- anyOf: [
40823
- {
40824
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
40825
- },
40826
- {
40827
- type: "null"
40828
- }
40829
- ]
40830
- },
40831
40608
  runOn: {
40832
40609
  default: {
40833
40610
  frequency: "trace"
@@ -41522,16 +41299,6 @@ var public_openapi_default = {
41522
41299
  default: true,
41523
41300
  type: "boolean"
41524
41301
  },
41525
- issueSemantics: {
41526
- anyOf: [
41527
- {
41528
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
41529
- },
41530
- {
41531
- type: "null"
41532
- }
41533
- ]
41534
- },
41535
41302
  runOn: {
41536
41303
  default: {
41537
41304
  frequency: "trace"
@@ -41669,16 +41436,6 @@ var public_openapi_default = {
41669
41436
  default: true,
41670
41437
  type: "boolean"
41671
41438
  },
41672
- issueSemantics: {
41673
- anyOf: [
41674
- {
41675
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
41676
- },
41677
- {
41678
- type: "null"
41679
- }
41680
- ]
41681
- },
41682
41439
  runOn: {
41683
41440
  default: {
41684
41441
  frequency: "trace"
@@ -41844,16 +41601,6 @@ var public_openapi_default = {
41844
41601
  default: true,
41845
41602
  type: "boolean"
41846
41603
  },
41847
- issueSemantics: {
41848
- anyOf: [
41849
- {
41850
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
41851
- },
41852
- {
41853
- type: "null"
41854
- }
41855
- ]
41856
- },
41857
41604
  runOn: {
41858
41605
  default: {
41859
41606
  frequency: "trace"
@@ -42693,16 +42440,6 @@ var public_openapi_default = {
42693
42440
  default: true,
42694
42441
  type: "boolean"
42695
42442
  },
42696
- issueSemantics: {
42697
- anyOf: [
42698
- {
42699
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
42700
- },
42701
- {
42702
- type: "null"
42703
- }
42704
- ]
42705
- },
42706
42443
  runOn: {
42707
42444
  default: {
42708
42445
  frequency: "trace"
@@ -43410,16 +43147,6 @@ var public_openapi_default = {
43410
43147
  default: true,
43411
43148
  type: "boolean"
43412
43149
  },
43413
- issueSemantics: {
43414
- anyOf: [
43415
- {
43416
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
43417
- },
43418
- {
43419
- type: "null"
43420
- }
43421
- ]
43422
- },
43423
43150
  runOn: {
43424
43151
  default: {
43425
43152
  frequency: "trace"
@@ -43557,16 +43284,6 @@ var public_openapi_default = {
43557
43284
  default: true,
43558
43285
  type: "boolean"
43559
43286
  },
43560
- issueSemantics: {
43561
- anyOf: [
43562
- {
43563
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
43564
- },
43565
- {
43566
- type: "null"
43567
- }
43568
- ]
43569
- },
43570
43287
  runOn: {
43571
43288
  default: {
43572
43289
  frequency: "trace"
@@ -43732,16 +43449,6 @@ var public_openapi_default = {
43732
43449
  default: true,
43733
43450
  type: "boolean"
43734
43451
  },
43735
- issueSemantics: {
43736
- anyOf: [
43737
- {
43738
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
43739
- },
43740
- {
43741
- type: "null"
43742
- }
43743
- ]
43744
- },
43745
43452
  runOn: {
43746
43453
  default: {
43747
43454
  frequency: "trace"
@@ -44581,16 +44288,6 @@ var public_openapi_default = {
44581
44288
  default: true,
44582
44289
  type: "boolean"
44583
44290
  },
44584
- issueSemantics: {
44585
- anyOf: [
44586
- {
44587
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
44588
- },
44589
- {
44590
- type: "null"
44591
- }
44592
- ]
44593
- },
44594
44291
  runOn: {
44595
44292
  default: {
44596
44293
  frequency: "trace"
@@ -45237,7 +44934,84 @@ var public_openapi_default = {
45237
44934
  detections: {
45238
44935
  type: "array",
45239
44936
  items: {
45240
- $ref: "#/components/schemas/PublicDetectionSummary"
44937
+ type: "object",
44938
+ properties: {
44939
+ createdAt: {
44940
+ type: "string",
44941
+ format: "date-time",
44942
+ pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
44943
+ },
44944
+ displayName: {
44945
+ type: "string",
44946
+ minLength: 1,
44947
+ maxLength: 255
44948
+ },
44949
+ groupId: {
44950
+ type: "string",
44951
+ format: "uuid",
44952
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
44953
+ },
44954
+ groupName: {
44955
+ anyOf: [
44956
+ {
44957
+ type: "string",
44958
+ maxLength: 255
44959
+ },
44960
+ {
44961
+ type: "null"
44962
+ }
44963
+ ]
44964
+ },
44965
+ id: {
44966
+ type: "string",
44967
+ format: "uuid",
44968
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
44969
+ },
44970
+ isActive: {
44971
+ type: "boolean"
44972
+ },
44973
+ slug: {
44974
+ type: "string",
44975
+ minLength: 1,
44976
+ maxLength: 100
44977
+ },
44978
+ threshold: {
44979
+ type: "number",
44980
+ minimum: 0,
44981
+ maximum: 1
44982
+ },
44983
+ type: {
44984
+ type: "string",
44985
+ enum: [
44986
+ "classifier",
44987
+ "regex",
44988
+ "conditional",
44989
+ "pii",
44990
+ "custom_trained",
44991
+ "code",
44992
+ "trace_rules",
44993
+ "decision"
44994
+ ]
44995
+ },
44996
+ updatedAt: {
44997
+ type: "string",
44998
+ format: "date-time",
44999
+ pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
45000
+ }
45001
+ },
45002
+ required: [
45003
+ "createdAt",
45004
+ "displayName",
45005
+ "groupId",
45006
+ "groupName",
45007
+ "id",
45008
+ "isActive",
45009
+ "slug",
45010
+ "threshold",
45011
+ "type",
45012
+ "updatedAt"
45013
+ ],
45014
+ additionalProperties: false
45241
45015
  }
45242
45016
  },
45243
45017
  page: {
@@ -45788,7 +45562,84 @@ var public_openapi_default = {
45788
45562
  type: "object",
45789
45563
  properties: {
45790
45564
  data: {
45791
- $ref: "#/components/schemas/PublicDetectionSummary"
45565
+ type: "object",
45566
+ properties: {
45567
+ createdAt: {
45568
+ type: "string",
45569
+ format: "date-time",
45570
+ pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
45571
+ },
45572
+ displayName: {
45573
+ type: "string",
45574
+ minLength: 1,
45575
+ maxLength: 255
45576
+ },
45577
+ groupId: {
45578
+ type: "string",
45579
+ format: "uuid",
45580
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
45581
+ },
45582
+ groupName: {
45583
+ anyOf: [
45584
+ {
45585
+ type: "string",
45586
+ maxLength: 255
45587
+ },
45588
+ {
45589
+ type: "null"
45590
+ }
45591
+ ]
45592
+ },
45593
+ id: {
45594
+ type: "string",
45595
+ format: "uuid",
45596
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
45597
+ },
45598
+ isActive: {
45599
+ type: "boolean"
45600
+ },
45601
+ slug: {
45602
+ type: "string",
45603
+ minLength: 1,
45604
+ maxLength: 100
45605
+ },
45606
+ threshold: {
45607
+ type: "number",
45608
+ minimum: 0,
45609
+ maximum: 1
45610
+ },
45611
+ type: {
45612
+ type: "string",
45613
+ enum: [
45614
+ "classifier",
45615
+ "regex",
45616
+ "conditional",
45617
+ "pii",
45618
+ "custom_trained",
45619
+ "code",
45620
+ "trace_rules",
45621
+ "decision"
45622
+ ]
45623
+ },
45624
+ updatedAt: {
45625
+ type: "string",
45626
+ format: "date-time",
45627
+ pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
45628
+ }
45629
+ },
45630
+ required: [
45631
+ "createdAt",
45632
+ "displayName",
45633
+ "groupId",
45634
+ "groupName",
45635
+ "id",
45636
+ "isActive",
45637
+ "slug",
45638
+ "threshold",
45639
+ "type",
45640
+ "updatedAt"
45641
+ ],
45642
+ additionalProperties: false
45792
45643
  },
45793
45644
  requestId: {
45794
45645
  type: "string",
@@ -46231,16 +46082,6 @@ var public_openapi_default = {
46231
46082
  default: true,
46232
46083
  type: "boolean"
46233
46084
  },
46234
- issueSemantics: {
46235
- anyOf: [
46236
- {
46237
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsInput"
46238
- },
46239
- {
46240
- type: "null"
46241
- }
46242
- ]
46243
- },
46244
46085
  runOn: {
46245
46086
  default: {
46246
46087
  frequency: "trace"
@@ -46372,16 +46213,6 @@ var public_openapi_default = {
46372
46213
  default: true,
46373
46214
  type: "boolean"
46374
46215
  },
46375
- issueSemantics: {
46376
- anyOf: [
46377
- {
46378
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsInput"
46379
- },
46380
- {
46381
- type: "null"
46382
- }
46383
- ]
46384
- },
46385
46216
  runOn: {
46386
46217
  default: {
46387
46218
  frequency: "trace"
@@ -46537,16 +46368,6 @@ var public_openapi_default = {
46537
46368
  default: true,
46538
46369
  type: "boolean"
46539
46370
  },
46540
- issueSemantics: {
46541
- anyOf: [
46542
- {
46543
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsInput"
46544
- },
46545
- {
46546
- type: "null"
46547
- }
46548
- ]
46549
- },
46550
46371
  runOn: {
46551
46372
  default: {
46552
46373
  frequency: "trace"
@@ -47380,16 +47201,6 @@ var public_openapi_default = {
47380
47201
  default: true,
47381
47202
  type: "boolean"
47382
47203
  },
47383
- issueSemantics: {
47384
- anyOf: [
47385
- {
47386
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsInput"
47387
- },
47388
- {
47389
- type: "null"
47390
- }
47391
- ]
47392
- },
47393
47204
  runOn: {
47394
47205
  default: {
47395
47206
  frequency: "trace"
@@ -48132,16 +47943,6 @@ var public_openapi_default = {
48132
47943
  isActive: {
48133
47944
  type: "boolean"
48134
47945
  },
48135
- issueSemantics: {
48136
- anyOf: [
48137
- {
48138
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
48139
- },
48140
- {
48141
- type: "null"
48142
- }
48143
- ]
48144
- },
48145
47946
  slug: {
48146
47947
  type: "string",
48147
47948
  minLength: 1,
@@ -48326,16 +48127,6 @@ var public_openapi_default = {
48326
48127
  isActive: {
48327
48128
  type: "boolean"
48328
48129
  },
48329
- issueSemantics: {
48330
- anyOf: [
48331
- {
48332
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
48333
- },
48334
- {
48335
- type: "null"
48336
- }
48337
- ]
48338
- },
48339
48130
  slug: {
48340
48131
  type: "string",
48341
48132
  minLength: 1,
@@ -48549,16 +48340,6 @@ var public_openapi_default = {
48549
48340
  isActive: {
48550
48341
  type: "boolean"
48551
48342
  },
48552
- issueSemantics: {
48553
- anyOf: [
48554
- {
48555
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
48556
- },
48557
- {
48558
- type: "null"
48559
- }
48560
- ]
48561
- },
48562
48343
  slug: {
48563
48344
  type: "string",
48564
48345
  minLength: 1,
@@ -49450,16 +49231,6 @@ var public_openapi_default = {
49450
49231
  isActive: {
49451
49232
  type: "boolean"
49452
49233
  },
49453
- issueSemantics: {
49454
- anyOf: [
49455
- {
49456
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
49457
- },
49458
- {
49459
- type: "null"
49460
- }
49461
- ]
49462
- },
49463
49234
  slug: {
49464
49235
  type: "string",
49465
49236
  minLength: 1,
@@ -49650,16 +49421,6 @@ var public_openapi_default = {
49650
49421
  isActive: {
49651
49422
  type: "boolean"
49652
49423
  },
49653
- issueSemantics: {
49654
- anyOf: [
49655
- {
49656
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
49657
- },
49658
- {
49659
- type: "null"
49660
- }
49661
- ]
49662
- },
49663
49424
  slug: {
49664
49425
  type: "string",
49665
49426
  minLength: 1,
@@ -49881,16 +49642,6 @@ var public_openapi_default = {
49881
49642
  isActive: {
49882
49643
  type: "boolean"
49883
49644
  },
49884
- issueSemantics: {
49885
- anyOf: [
49886
- {
49887
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
49888
- },
49889
- {
49890
- type: "null"
49891
- }
49892
- ]
49893
- },
49894
49645
  slug: {
49895
49646
  type: "string",
49896
49647
  minLength: 1,
@@ -50103,16 +49854,6 @@ var public_openapi_default = {
50103
49854
  isActive: {
50104
49855
  type: "boolean"
50105
49856
  },
50106
- issueSemantics: {
50107
- anyOf: [
50108
- {
50109
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
50110
- },
50111
- {
50112
- type: "null"
50113
- }
50114
- ]
50115
- },
50116
49857
  slug: {
50117
49858
  type: "string",
50118
49859
  minLength: 1,
@@ -51221,7 +50962,84 @@ var public_openapi_default = {
51221
50962
  type: "object",
51222
50963
  properties: {
51223
50964
  data: {
51224
- $ref: "#/components/schemas/PublicDetectionSummary"
50965
+ type: "object",
50966
+ properties: {
50967
+ createdAt: {
50968
+ type: "string",
50969
+ format: "date-time",
50970
+ pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
50971
+ },
50972
+ displayName: {
50973
+ type: "string",
50974
+ minLength: 1,
50975
+ maxLength: 255
50976
+ },
50977
+ groupId: {
50978
+ type: "string",
50979
+ format: "uuid",
50980
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
50981
+ },
50982
+ groupName: {
50983
+ anyOf: [
50984
+ {
50985
+ type: "string",
50986
+ maxLength: 255
50987
+ },
50988
+ {
50989
+ type: "null"
50990
+ }
50991
+ ]
50992
+ },
50993
+ id: {
50994
+ type: "string",
50995
+ format: "uuid",
50996
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
50997
+ },
50998
+ isActive: {
50999
+ type: "boolean"
51000
+ },
51001
+ slug: {
51002
+ type: "string",
51003
+ minLength: 1,
51004
+ maxLength: 100
51005
+ },
51006
+ threshold: {
51007
+ type: "number",
51008
+ minimum: 0,
51009
+ maximum: 1
51010
+ },
51011
+ type: {
51012
+ type: "string",
51013
+ enum: [
51014
+ "classifier",
51015
+ "regex",
51016
+ "conditional",
51017
+ "pii",
51018
+ "custom_trained",
51019
+ "code",
51020
+ "trace_rules",
51021
+ "decision"
51022
+ ]
51023
+ },
51024
+ updatedAt: {
51025
+ type: "string",
51026
+ format: "date-time",
51027
+ pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
51028
+ }
51029
+ },
51030
+ required: [
51031
+ "createdAt",
51032
+ "displayName",
51033
+ "groupId",
51034
+ "groupName",
51035
+ "id",
51036
+ "isActive",
51037
+ "slug",
51038
+ "threshold",
51039
+ "type",
51040
+ "updatedAt"
51041
+ ],
51042
+ additionalProperties: false
51225
51043
  },
51226
51044
  requestId: {
51227
51045
  type: "string",
@@ -52506,16 +52324,6 @@ var public_openapi_default = {
52506
52324
  format: "uuid",
52507
52325
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
52508
52326
  },
52509
- issueSemantics: {
52510
- anyOf: [
52511
- {
52512
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsInput"
52513
- },
52514
- {
52515
- type: "null"
52516
- }
52517
- ]
52518
- },
52519
52327
  runOn: {
52520
52328
  type: "object",
52521
52329
  properties: {
@@ -55942,7 +55750,84 @@ var public_openapi_default = {
55942
55750
  type: "object",
55943
55751
  properties: {
55944
55752
  data: {
55945
- $ref: "#/components/schemas/PublicDetectionSummary"
55753
+ type: "object",
55754
+ properties: {
55755
+ createdAt: {
55756
+ type: "string",
55757
+ format: "date-time",
55758
+ pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
55759
+ },
55760
+ displayName: {
55761
+ type: "string",
55762
+ minLength: 1,
55763
+ maxLength: 255
55764
+ },
55765
+ groupId: {
55766
+ type: "string",
55767
+ format: "uuid",
55768
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
55769
+ },
55770
+ groupName: {
55771
+ anyOf: [
55772
+ {
55773
+ type: "string",
55774
+ maxLength: 255
55775
+ },
55776
+ {
55777
+ type: "null"
55778
+ }
55779
+ ]
55780
+ },
55781
+ id: {
55782
+ type: "string",
55783
+ format: "uuid",
55784
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
55785
+ },
55786
+ isActive: {
55787
+ type: "boolean"
55788
+ },
55789
+ slug: {
55790
+ type: "string",
55791
+ minLength: 1,
55792
+ maxLength: 100
55793
+ },
55794
+ threshold: {
55795
+ type: "number",
55796
+ minimum: 0,
55797
+ maximum: 1
55798
+ },
55799
+ type: {
55800
+ type: "string",
55801
+ enum: [
55802
+ "classifier",
55803
+ "regex",
55804
+ "conditional",
55805
+ "pii",
55806
+ "custom_trained",
55807
+ "code",
55808
+ "trace_rules",
55809
+ "decision"
55810
+ ]
55811
+ },
55812
+ updatedAt: {
55813
+ type: "string",
55814
+ format: "date-time",
55815
+ pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
55816
+ }
55817
+ },
55818
+ required: [
55819
+ "createdAt",
55820
+ "displayName",
55821
+ "groupId",
55822
+ "groupName",
55823
+ "id",
55824
+ "isActive",
55825
+ "slug",
55826
+ "threshold",
55827
+ "type",
55828
+ "updatedAt"
55829
+ ],
55830
+ additionalProperties: false
55946
55831
  },
55947
55832
  requestId: {
55948
55833
  type: "string",
@@ -57054,16 +56939,6 @@ var public_openapi_default = {
57054
56939
  default: true,
57055
56940
  type: "boolean"
57056
56941
  },
57057
- issueSemantics: {
57058
- anyOf: [
57059
- {
57060
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
57061
- },
57062
- {
57063
- type: "null"
57064
- }
57065
- ]
57066
- },
57067
56942
  runOn: {
57068
56943
  default: {
57069
56944
  frequency: "trace"
@@ -57201,16 +57076,6 @@ var public_openapi_default = {
57201
57076
  default: true,
57202
57077
  type: "boolean"
57203
57078
  },
57204
- issueSemantics: {
57205
- anyOf: [
57206
- {
57207
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
57208
- },
57209
- {
57210
- type: "null"
57211
- }
57212
- ]
57213
- },
57214
57079
  runOn: {
57215
57080
  default: {
57216
57081
  frequency: "trace"
@@ -57376,16 +57241,6 @@ var public_openapi_default = {
57376
57241
  default: true,
57377
57242
  type: "boolean"
57378
57243
  },
57379
- issueSemantics: {
57380
- anyOf: [
57381
- {
57382
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
57383
- },
57384
- {
57385
- type: "null"
57386
- }
57387
- ]
57388
- },
57389
57244
  runOn: {
57390
57245
  default: {
57391
57246
  frequency: "trace"
@@ -58225,16 +58080,6 @@ var public_openapi_default = {
58225
58080
  default: true,
58226
58081
  type: "boolean"
58227
58082
  },
58228
- issueSemantics: {
58229
- anyOf: [
58230
- {
58231
- $ref: "#/components/schemas/PublicDetectionIssueSemanticsOutput"
58232
- },
58233
- {
58234
- type: "null"
58235
- }
58236
- ]
58237
- },
58238
58083
  runOn: {
58239
58084
  default: {
58240
58085
  frequency: "trace"
@@ -191886,7 +191731,7 @@ import { Command, CommanderError, Option } from "commander";
191886
191731
  // package.json
191887
191732
  var package_default = {
191888
191733
  name: "neatlogs-cli",
191889
- version: "0.2.0-team-test.1",
191734
+ version: "0.2.0",
191890
191735
  description: "Non-interactive CLI for the NeatLogs public API",
191891
191736
  homepage: "https://github.com/neatlogs/neatlogs-app#readme",
191892
191737
  license: "MIT",
@@ -192375,8 +192220,6 @@ function isJsonLineWithinByteBudget(value, maximumBytes) {
192375
192220
 
192376
192221
  // src/handler-builder.ts
192377
192222
  var PUBLIC_RESPONSE_COMPONENT_NAMES = [
192378
- "PublicDetectionIssueSemanticsOutput",
192379
- "PublicDetectionSummary",
192380
192223
  "PublicSavedFilter",
192381
192224
  "PublicSavedFilterEnvelope",
192382
192225
  "PublicSavedFilterGroup1",
@@ -201295,6 +201138,37 @@ async function parseGuestSubmissionRequest(stream) {
201295
201138
 
201296
201139
  // src/http.ts
201297
201140
  import { z as z40 } from "zod";
201141
+
201142
+ // src/http-errors.ts
201143
+ var STATUS_ERRORS = {
201144
+ 400: { code: "INVALID_REQUEST", exitCode: ExitCode.Usage },
201145
+ 401: { code: "AUTHENTICATION_FAILED", exitCode: ExitCode.Authentication },
201146
+ 403: { code: "FORBIDDEN", exitCode: ExitCode.Authorization },
201147
+ 404: { code: "NOT_FOUND", exitCode: ExitCode.NotFound },
201148
+ 409: { code: "CONFLICT", exitCode: ExitCode.Conflict },
201149
+ 413: { code: "PAYLOAD_TOO_LARGE", exitCode: ExitCode.Usage },
201150
+ 415: { code: "UNSUPPORTED_MEDIA_TYPE", exitCode: ExitCode.Usage },
201151
+ 422: { code: "UNPROCESSABLE_ENTITY", exitCode: ExitCode.ServerOrContract },
201152
+ 429: { code: "RATE_LIMITED", exitCode: ExitCode.RateLimitedOrUnavailable },
201153
+ 503: {
201154
+ code: "SERVICE_UNAVAILABLE",
201155
+ exitCode: ExitCode.RateLimitedOrUnavailable
201156
+ }
201157
+ };
201158
+ var CLASSIFIER_422_EXITS = {
201159
+ PUBLIC_CLASSIFIER_BUDGET_TOO_SMALL: ExitCode.Usage,
201160
+ PUBLIC_CLASSIFIER_DATASET_LABELS_INVALID: ExitCode.Usage,
201161
+ PUBLIC_CLASSIFIER_DATASET_NOT_READY: ExitCode.Conflict,
201162
+ PUBLIC_CLASSIFIER_LABEL_LIMIT: ExitCode.Usage,
201163
+ PUBLIC_CLASSIFIER_LABEL_REFERENCE_INVALID: ExitCode.Usage,
201164
+ PUBLIC_CLASSIFIER_NOT_READY: ExitCode.Conflict
201165
+ };
201166
+ function publicProblemExitCode(status2, validatedCode, fallback) {
201167
+ if (status2 !== 422 || !validatedCode) return fallback;
201168
+ return CLASSIFIER_422_EXITS[validatedCode] ?? fallback;
201169
+ }
201170
+
201171
+ // src/http.ts
201298
201172
  var ERROR_BODY_LIMIT_BYTES = 16 * 1024;
201299
201173
  var GUEST_TIMEOUT_MS = 1e4;
201300
201174
  var MAX_ATTEMPTS = 3;
@@ -201336,27 +201210,6 @@ var DEFAULT_RETRY_DEPENDENCIES = {
201336
201210
  await new Promise((resolve) => setTimeout(resolve, delayMs));
201337
201211
  }
201338
201212
  };
201339
- var STATUS_ERRORS = {
201340
- 400: { code: "INVALID_REQUEST", exitCode: ExitCode.Usage },
201341
- 401: { code: "AUTHENTICATION_FAILED", exitCode: ExitCode.Authentication },
201342
- 403: { code: "FORBIDDEN", exitCode: ExitCode.Authorization },
201343
- 404: { code: "NOT_FOUND", exitCode: ExitCode.NotFound },
201344
- 409: { code: "CONFLICT", exitCode: ExitCode.Conflict },
201345
- 413: { code: "PAYLOAD_TOO_LARGE", exitCode: ExitCode.Usage },
201346
- 415: { code: "UNSUPPORTED_MEDIA_TYPE", exitCode: ExitCode.Usage },
201347
- 422: {
201348
- code: "UNPROCESSABLE_ENTITY",
201349
- exitCode: ExitCode.ServerOrContract
201350
- },
201351
- 429: {
201352
- code: "RATE_LIMITED",
201353
- exitCode: ExitCode.RateLimitedOrUnavailable
201354
- },
201355
- 503: {
201356
- code: "SERVICE_UNAVAILABLE",
201357
- exitCode: ExitCode.RateLimitedOrUnavailable
201358
- }
201359
- };
201360
201213
  async function readBoundedText(response, limit2) {
201361
201214
  const declaredLength = Number(response.headers.get("content-length"));
201362
201215
  if (Number.isFinite(declaredLength) && declaredLength > limit2) {
@@ -201453,7 +201306,11 @@ async function errorFromResponse(response, forbiddenSecret, discardServerDiagnos
201453
201306
  const requestId3 = containsForbiddenSecret ? void 0 : bodyRequestId ?? safeString(headerRequestId, SAFE_REQUEST_ID);
201454
201307
  return new CliError({
201455
201308
  code: containsForbiddenSecret || gatedNotFound ? fallback.code : bodyCode ?? fallback.code,
201456
- exitCode: fallback.exitCode,
201309
+ exitCode: publicProblemExitCode(
201310
+ response.status,
201311
+ containsForbiddenSecret ? void 0 : trustedProblem?.code,
201312
+ fallback.exitCode
201313
+ ),
201457
201314
  ...containsForbiddenSecret || gatedNotFound || !trustedProblem ? {} : {
201458
201315
  detail: trustedProblem.detail,
201459
201316
  errors: trustedProblem.errors,
@@ -201660,6 +201517,7 @@ function preparePublicRequest(host, credential, projectId, handler2, input) {
201660
201517
  applyPublicSecretReplay(headers, handler2, input.secretReplayKey);
201661
201518
  return {
201662
201519
  body,
201520
+ credentialSecret: credential.value,
201663
201521
  generatedIdempotencyKey,
201664
201522
  headers,
201665
201523
  operationGate: operationGateFor(handler2.operationId),
@@ -201786,7 +201644,7 @@ async function decodePublicResponse(response, handler2, input, prepared) {
201786
201644
  throw errorWithGeneratedIdempotencyKey(
201787
201645
  await errorFromResponse(
201788
201646
  response,
201789
- input.secretReplayKey,
201647
+ input.secretReplayKey ?? prepared.credentialSecret,
201790
201648
  input.secretReplayKey !== void 0,
201791
201649
  prepared.operationGate
201792
201650
  ),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neatlogs-cli",
3
- "version": "0.2.0-team-test.1",
3
+ "version": "0.2.0",
4
4
  "description": "Non-interactive CLI for the NeatLogs public API",
5
5
  "homepage": "https://github.com/neatlogs/neatlogs-app#readme",
6
6
  "license": "MIT",