@tityra/cli 1.1.1 → 1.1.2

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
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.2
4
+
5
+ - Explain organisation prepaid credits and the Starter, Pro and Enterprise plans.
6
+ - Update audit command help for credit budgets and spending approval in Tityra.
7
+ - Make the 100-page limit explicit for In-Depth Audits and weekly monitoring.
8
+ - Clarify credit-funded monitoring on every plan and the CLI's pause-only financial boundary.
9
+
3
10
  ## 1.1.1
4
11
 
5
12
  - Update customer-facing audit terminology to describe website content audits.
package/README.md CHANGED
@@ -6,14 +6,14 @@ Tityra's website content audits review content delivery, structure and available
6
6
 
7
7
  ## Project status
8
8
 
9
- Version `1.1.1` updates the terminology used for Tityra's website content audit service. Version `1.1.0` added project monitoring commands and included-audit pricing status. Stable releases use npm's `latest` tag; check the [npm package page](https://www.npmjs.com/package/@tityra/cli) for the currently published version. CI targets Node.js 22 and 24 on Linux, macOS and Windows; local regression tests use isolated fixtures rather than live customer accounts.
9
+ Version `1.1.2` updates audit and monitoring guidance for prepaid organisation credits. Credit purchases and spending approval take place in Tityra. Stable releases use npm's `latest` tag; check the [npm package page](https://www.npmjs.com/package/@tityra/cli) for the currently published version. CI targets Node.js 22 and 24 on Linux, macOS and Windows; local regression tests use isolated fixtures rather than live customer accounts.
10
10
 
11
11
  ## Basic functionality
12
12
 
13
13
  - Opens an interactive workspace with browser sign-in, project selection and persistent navigation.
14
14
  - Lists audit options and requests, reads released reports and findings, and downloads a published PDF revision.
15
15
  - Submits audit requests, finding challenges, discussions and customer-reported remediation with explicit confirmation.
16
- - Reads payment status and creates checkout links for the customer to review and pay.
16
+ - Reads funding status. Organisation credit purchases and spending approval take place in Tityra.
17
17
  - Returns complete JSON records and stable exit codes for scripts and agents.
18
18
 
19
19
  ## What it does not do
@@ -75,15 +75,17 @@ Audit options describe the existing eligibility and review rules. A submitted re
75
75
 
76
76
  ### Workspace plans and weekly monitoring
77
77
 
78
- Scale and Enterprise support unlimited organisations, projects and members. Enterprise offers monthly billing at £3,600 or annual billing at £36,000, excluding VAT, with one scheduled In-Depth Audit per week for each enabled project and up to 500 pages per project. Check [current plans and prices](https://app.tityra.com/customer) in your account before subscribing.
78
+ All plans support unlimited organisations and projects. Starter includes two members, Pro includes 10 members at £5/month or £50/year, and Enterprise includes unlimited members at £49/month or £490/year. Subscription prices exclude VAT. Check [current plans and prices](https://app.tityra.com/customer) before subscribing.
79
79
 
80
- Enable **Monitor this project** in the Tityra application, or use the monitoring commands below with an explicitly granted `monitoring:write` permission and current project management access. Confirm that you are authorised to scan the website and selected pages. Eligibility comes from the project's organisation and its explicitly assigned Billing Profile, with an active subscription or explicit complimentary assignment that includes weekly monitoring. Your personal plan or membership in another paying organisation does not supply it. Your confirmed project consent enables monitoring without a separate administrator approval. Reports are delivered automatically after the required checks. You can pause and resume each project separately; existing reports remain available.
80
+ Each organisation has its own prepaid balance. **1 credit = £1 including VAT**. Purchased credits do not expire; automatic top-ups are off. Initial Audit remains free. In-Depth Audit starts at 10 credits (£10 including VAT), covering the first 10 successfully reviewed unique HTML pages. Each additional reviewed page costs 1 credit, up to 100 pages per audit. The approved maximum is reserved before work begins. Unused credits are released; technical retries do not charge the same page twice. Expert Review uses 1,000 credits per day after approval of its scope and maximum cost.
81
81
 
82
- The first included website content audit is due seven days after the project's first production audit request for its current website, whether that request was Initial Audit, In-Depth Audit or Expert Review. If no request exists, confirmed monitoring consent starts that interval. Enabling or resuming an eligible project whose audit is already due automatically queues one included audit. Later included audits remain at least seven days apart; missed slots do not accumulate. Read the server's `nextScheduledAt` and `history` rather than calculating a new start date locally.
82
+ Weekly monitoring is available on every plan and consumes organisation credits, with a maximum of 100 pages per run. Enable it in Tityra, where a project manager with organisation spending permission confirms website authority, scope and a recurring credit budget. Existing consent to free monitoring does not authorise paid runs. Each new cycle reserves its budget; insufficient credit automatically pauses monitoring without creating debt and sends an in-app notification and email to the person who authorised it. Membership in another organisation does not share its subscription or balance. Reports are delivered after checks and settlement, and existing reports remain available when monitoring is paused.
83
83
 
84
- Use `audits list` and `reports get` to read released weekly website content audit reports within the projects and permissions you approved. A paid In-Depth Audit submitted through `audits create` is an additional request, charged separately; it does not replace the included weekly audit slot. Expert Review is never included in weekly monitoring and always follows the normal separately paid request and checkout process. Initial Audit requests retain their normal eligibility limits. The CLI cannot choose a payer or change a subscription.
84
+ The first weekly audit is due seven days after the project's earliest non-cancelled audit request for its current website, or after monitoring consent if no request exists. An overdue eligible project queues one due run when its approved budget can be reserved. Missed weeks do not accumulate. Read the server's `nextScheduledAt` and `history` rather than calculating a new start date locally.
85
85
 
86
- Audit lists show the server's pricing status when your connection has `billing:read`; genuine included monitoring requests use `included`. A missing pricing status does not mean a payment is due. Use `audits payment AUDIT_ID` for current payment requirements. Normal report publication and payment checks remain in force.
86
+ Use `audits list` and `reports get` to read released reports within your selected projects. A paid audit submitted through `audits create` waits for spending approval in Tityra. Neither `audits:create` nor `monitoring:write` authorises credit spending. The CLI can pause monitoring, but cannot enable recurring charges, buy credits, choose a payer or change a subscription. Initial Audit requests retain their eligibility limits.
87
+
88
+ Audit lists show the server's current funding status when the connection has `billing:read`. A missing status does not imply that payment is due. Publication, permission and funding checks remain in force.
87
89
 
88
90
  Monitoring commands require version `1.1.0` or later; version `1.0.0` does not include them. Read settings with `projects:read`. To change them, request `monitoring:write` through fresh consent; default scopes and existing connections stay unchanged. The `--scope` list replaces the defaults, so include any other access you still need.
89
91
 
@@ -95,20 +97,17 @@ tityra projects monitoring get PROJECT_ID --json
95
97
  tityra projects monitoring update PROJECT_ID --input monitoring.json --yes --json
96
98
  ```
97
99
 
98
- For `monitoring.json`, copy the current `revision` and `website` into `expectedRevision` and `expectedWebsite`, and generate a UUID once for the intended action:
100
+ To pause with `monitoring.json`, copy the current `revision` into `expectedRevision` and generate a UUID once for the intended action:
99
101
 
100
102
  ```json
101
103
  {
102
- "action": "enable",
103
- "expectedRevision": 0,
104
- "expectedWebsite": "https://example.com/",
105
- "authorisation": true,
106
- "auditScope": { "mode": "website" },
104
+ "action": "disable",
105
+ "expectedRevision": 1,
107
106
  "idempotencyKey": "10000000-0000-4000-8000-000000000001"
108
107
  }
109
108
  ```
110
109
 
111
- `enable` also resumes monitoring or changes its scope. To pause, send only `action: "disable"`, the current `expectedRevision` and a new action's `idempotencyKey`. Revision zero is valid for a project without settings. On an uncertain write, retry only the same input and key. The server checks the selected project, current manager, explicit payer, subscription and website. Confirm your authorisation again when changing the website or scope.
110
+ Enable, resume or change a recurring credit budget in the Tityra application. The CLI can pause monitoring with `action: "disable"`, the current `expectedRevision` and a new action's `idempotencyKey`. Revision zero is valid for a project without settings. On an uncertain write, retry only the same input and key. The server checks the selected project and current management rights. Pausing remains available after subscription expiry.
112
111
 
113
112
  ### 3. Read reports, findings and discussions
114
113
 
@@ -151,19 +150,19 @@ tityra discussions create REPORT_ID FINDING_ID --input discussion.json --yes --j
151
150
 
152
151
  Other write commands use the same confirmation pattern:
153
152
 
154
- | Command | Input fields besides `idempotencyKey` |
155
- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
156
- | `audits create` | `projectId`, `plan` (`free`, `automated`, `human`), `authorisation: true`; optional `notes`, `auditScope` |
157
- | `projects monitoring update PROJECT_ID` | `action` (`enable`, `disable`), `expectedRevision`; enable requires `authorisation: true`, `expectedWebsite`, and accepts `auditScope` |
158
- | `findings challenge REPORT_ID FINDING_ID` | `reason` (`irrelevant`, `false_positive`, `unclear_other`), `body`, `expectedReportRevision` |
159
- | `discussions create REPORT_ID FINDING_ID` | `body`, `expectedReportRevision` |
160
- | `discussions reply REPORT_ID FINDING_ID THREAD_ID` | `body`, `expectedReportRevision`, `expectedThreadRevision` |
161
- | `findings remediate REPORT_ID FINDING_ID` | `status`, `reason`, `expectedReportRevision`, `expectedTrackingRevision` |
162
- | `reports checkout REPORT_ID` | No additional fields |
153
+ | Command | Input fields besides `idempotencyKey` |
154
+ | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
155
+ | `audits create` | `projectId`, `plan` (`free`, `automated`, `human`), `authorisation: true`; optional `notes`, `auditScope` |
156
+ | `projects monitoring update PROJECT_ID` | `action: "disable"`, `expectedRevision`; approve or change recurring credit budgets in the Tityra application |
157
+ | `findings challenge REPORT_ID FINDING_ID` | `reason` (`irrelevant`, `false_positive`, `unclear_other`), `body`, `expectedReportRevision` |
158
+ | `discussions create REPORT_ID FINDING_ID` | `body`, `expectedReportRevision` |
159
+ | `discussions reply REPORT_ID FINDING_ID THREAD_ID` | `body`, `expectedReportRevision`, `expectedThreadRevision` |
160
+ | `findings remediate REPORT_ID FINDING_ID` | `status`, `reason`, `expectedReportRevision`, `expectedTrackingRevision` |
161
+ | `reports checkout REPORT_ID` | No additional fields |
163
162
 
164
163
  Read current revision fields using `--json` before changing a record. Discussion and challenge messages contain 3–4,000 characters. Remediation statuses are `open`, `planned`, `in_progress`, `resolved`, `wont_fix` and `not_applicable`; `resolved` remains customer-reported rather than independently verified.
165
164
 
166
- Audit scope is either `{"mode":"website"}` or `{"mode":"specific_urls","urls":["https://example.com/path"]}`. The project supplies the website. Normal audit requests record your explicit authorisation for that scope without a separate manual staff authority confirmation. Eligibility, scope and commercial checks still apply, and individually requested reports retain staff quality review. Monitoring reuses the confirmed project consent described above. Checkout creates a link for the customer to complete.
165
+ Audit scope is either `{"mode":"website"}` or `{"mode":"specific_urls","urls":["https://example.com/path"]}`. The project supplies the website. Normal audit requests record your explicit authorisation for that scope without a separate manual staff authority confirmation. Eligibility, scope and commercial checks still apply, and individually requested reports retain staff quality review. Paid monitoring requires the separate recurring credit approval described above. Checkout creates a link for the customer to complete.
167
166
 
168
167
  ### 5. Use the CLI in scripts or with an agent
169
168
 
@@ -37,7 +37,7 @@ export function registerAuditsCommands(program, context) {
37
37
  writeOptions(audits
38
38
  .command('create')
39
39
  .description('Request an additional audit with explicit authorisation for its website scope')
40
- .addHelpText('after', '\nYour authorisation: true declaration and the validated website scope provide the required request authorisation. No second manual staff confirmation of website authority is required.\nEligibility, scope and commercial checks still apply. Individually requested reports retain staff quality review.\nWeekly monitoring includes the In-Depth Audit only. Additional In-Depth Audits and Expert Review require a separate request and payment through the normal checkout.\nUse projects monitoring get/update for an explicitly authorised project, or manage monitoring in the Tityra application.\n')).action(async (_options, command) => {
40
+ .addHelpText('after', '\nYour authorisation: true declaration and the validated website scope provide the required request authorisation. No second manual staff confirmation of website authority is required.\nEligibility, scope and commercial checks still apply. Individually requested reports retain staff quality review.\nIn-Depth Audits, Expert Reviews and weekly monitoring use prepaid organisation credits. In-Depth Audit starts at 10 credits (£10 including VAT) for the first 10 pages, then 1 credit per additional reviewed page, up to 100 pages. Paid requests submitted by this client require spending approval in Tityra. Existing OAuth permissions do not authorise credit spending.\nUse projects monitoring get to read settings and update to pause. Enable paid monitoring and approve recurring credit budgets in Tityra.\n')).action(async (_options, command) => {
41
41
  await write(command, context, 'audit', '/api/agent/audits');
42
42
  });
43
43
  }
@@ -21,8 +21,8 @@ export function registerProjectsCommands(program, context) {
21
21
  });
22
22
  writeOptions(monitoring
23
23
  .command('update <project-id>')
24
- .description('Enable, pause, resume or update the scope of weekly website content audits')
25
- .addHelpText('after', '\nRequires an explicitly granted monitoring:write permission and current project management access.\nRead settings first; include the current expectedRevision and keep the same input and idempotencyKey when retrying an uncertain write.\nUse action enable with authorisation: true and the returned website as expectedWebsite. Use action disable to pause.\nEnabling monitoring records your website and scope authorisation without a separate administrator approval. Confirm that authorisation again after changing the website or scope.\nThe first included audit is due seven days after the first audit request for this project website, or after consent if none exists. Enabling or resuming an overdue eligible project queues its due website content audit automatically. Read nextScheduledAt and history for the current server state.\nThe CLI cannot select a payer or change a subscription.\n')).action(async (id, _options, command) => {
24
+ .description('Pause weekly monitoring; approve recurring credit spending in Tityra')
25
+ .addHelpText('after', '\nRequires an explicitly granted monitoring:write permission and current project management access.\nRead settings first; include the current expectedRevision and keep the same input and idempotencyKey when retrying an uncertain write.\nUse action disable to pause. Enabling or resuming paid monitoring requires explicit recurring organisation credit approval in Tityra.\nmonitoring:write does not grant financial authority. Confirm website scope and the recurring credit budget in the application.\nEach scheduled audit consumes organisation credits, including on Enterprise. Insufficient credits pause new runs. Read nextScheduledAt and history for the current server state.\nThe CLI cannot select a payer or change a subscription.\n')).action(async (id, _options, command) => {
26
26
  await write(command, context, 'monitoring', `/api/agent/projects/${identifier(id)}/monitoring`, 'PATCH');
27
27
  });
28
28
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tityra/cli",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Official Tityra CLI for projects, audits, reports and findings. Built for developers, AI agents and automated workflows.",
5
5
  "type": "module",
6
6
  "bin": {