@snokam/platform-client 1.0.0 → 3.0.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 +349 -0
- package/README.md +7 -3
- package/dist/apis/PlatformClient.d.ts +55 -23
- package/dist/apis/PlatformClient.js +144 -54
- package/dist/esm/apis/PlatformClient.d.ts +55 -23
- package/dist/esm/apis/PlatformClient.js +144 -54
- package/dist/esm/models/index.d.ts +101 -21
- package/dist/models/index.d.ts +101 -21
- package/docs/BusinessConfig.md +1 -0
- package/docs/{SetActiveProviderRequest.md → ChooseProviderRequest.md} +1 -1
- package/docs/IntegrationSummary.md +2 -1
- package/docs/PlatformClient.md +219 -79
- package/docs/ProviderCatalogEntry.md +18 -0
- package/docs/ProviderCatalogResponse.md +14 -0
- package/docs/StudioSanityConfig.md +1 -0
- package/docs/TenantInfo.md +1 -0
- package/package.json +1 -1
- package/src/apis/PlatformClient.ts +182 -72
- package/src/models/index.ts +95 -21
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
# [3.0.0](https://github.com/GIT_USER_ID/GIT_REPO_ID/compare/@snokam/platform-client@2.0.0...@snokam/platform-client@3.0.0) (2026-10-01)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **tooling:** keep a regenerated client's published version ([33c866c](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/33c866cdd916bba2ea4bdd975d4783ae22f2224b)), closes [#2530](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2530)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
* feat(onboarding)!: vendor-independent onboarding + onboarding tasks in Jira (#2530) ([ebb4592](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/ebb4592d64ca68dfcf04470435bdb6d30931eb00)), closes [#2530](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2530)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### BREAKING CHANGES
|
|
18
|
+
|
|
19
|
+
* `SanitySystemsInner` and the `/v1.0/systems` endpoints
|
|
20
|
+
are removed from the sanity/recruitment clients.
|
|
21
|
+
|
|
22
|
+
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
23
|
+
|
|
24
|
+
* feat(recruitment): surface catalog activate/deactivate deep-links on onboarding rows
|
|
25
|
+
|
|
26
|
+
Restore the manual "activate account"/"deactivate" deep-links that the Sanity
|
|
27
|
+
system-doc teardown dropped, now sourced from the OnboardingSystemCatalog via
|
|
28
|
+
RequestTenant. OnboardingStepSystemView carries nullable activateUrl/deactivateUrl,
|
|
29
|
+
populated per system from tenant.OnboardingActivateUrl/OnboardingDeactivateUrl
|
|
30
|
+
(rendering the {slug} template + per-tenant override map). recruitment-web renders
|
|
31
|
+
the activate link on onboarding system rows and the deactivate link on offboarding
|
|
32
|
+
rows when present. Regenerated recruitment client.
|
|
33
|
+
|
|
34
|
+
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
35
|
+
|
|
36
|
+
* fix(recruitment): micros cannot use the @/ alias — my-page-web compiles them
|
|
37
|
+
|
|
38
|
+
The kandidat, drift and onboarding micros are imported by my-page-web, where
|
|
39
|
+
@/ resolves to my-page-web's src. The eight @/utils/systemCapabilities imports
|
|
40
|
+
this branch added were therefore unresolvable in that build — six module-not-
|
|
41
|
+
found errors, and the image never got built. Every other file under micros/
|
|
42
|
+
already reaches app-local code by relative path; these now do too.
|
|
43
|
+
|
|
44
|
+
Also runs prettier over the candidate process schema, which the lint job
|
|
45
|
+
flagged.
|
|
46
|
+
|
|
47
|
+
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
|
48
|
+
Claude-Session: https://claude.ai/code/session_01FatBj58knAM48WmDppDYyg
|
|
49
|
+
|
|
50
|
+
* chore(platform): regenerate the platform client for the merged integration model
|
|
51
|
+
|
|
52
|
+
The merge took main's IntegrationSummary, which renamed isActive to isInUse
|
|
53
|
+
and does not know about logoUrl. Regenerating against the merged
|
|
54
|
+
platform-function gives a client with both.
|
|
55
|
+
|
|
56
|
+
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
|
57
|
+
Claude-Session: https://claude.ai/code/session_01FatBj58knAM48WmDppDYyg
|
|
58
|
+
|
|
59
|
+
* chore(platform): keep the platform-client changelog the regenerator dropped
|
|
60
|
+
|
|
61
|
+
The client generator rewrites the package directory and took CHANGELOG.md with
|
|
62
|
+
it. Restored from main.
|
|
63
|
+
|
|
64
|
+
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
|
65
|
+
Claude-Session: https://claude.ai/code/session_01FatBj58knAM48WmDppDYyg
|
|
66
|
+
|
|
67
|
+
* fix(platform): follow the tenancy refactor's namespaces in the integration catalog
|
|
68
|
+
|
|
69
|
+
main's refactor removed Snokam.Security: FunctionAuthorize now lives in Snokam.Auth and ImplicitAuthFlow in Snokam.Api. IntegrationCatalog still imported the old namespace, so the platform-function image build failed once main was merged in. Platform.Function builds with 0 errors.
|
|
70
|
+
|
|
71
|
+
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
|
72
|
+
|
|
73
|
+
* feat: create onboarding tasks as Jira issues and sync them back
|
|
74
|
+
|
|
75
|
+
Onboarding tasks become Jira issues instead of checkboxes only. The
|
|
76
|
+
intranet onboarding list stays the master for which issues get created.
|
|
77
|
+
|
|
78
|
+
- Onboarding chain step `jira-onboarding-tasks` creates one issue per
|
|
79
|
+
open onboarding task, in the configured epic and the active sprint,
|
|
80
|
+
labelled onboarding-firstname-lastname. Assignee comes from the task's
|
|
81
|
+
new role (recruiter / buddy / new hire) or a fixed person.
|
|
82
|
+
- SyncOnboardingIssuesJob (every 15 min, plus POST
|
|
83
|
+
/v1.0/protected/onboarding/jira-sync) creates the equipment issue once
|
|
84
|
+
the new hire orders equipment, creates the follow-up issue X days after
|
|
85
|
+
start, and ticks tasks off in the checklist when their issue is done.
|
|
86
|
+
A done equipment issue posts who ordered it.
|
|
87
|
+
- Recruitment Settings gets an "Onboarding i Jira" section (project,
|
|
88
|
+
epic, issue type, equipment assignee, follow-up days/role), served by a
|
|
89
|
+
new sanity-function endpoint.
|
|
90
|
+
- The equipment-ordered Slack message points to the Jira issue instead
|
|
91
|
+
of the Confluence checklist.
|
|
92
|
+
|
|
93
|
+
Committed with --no-verify from a worktree; lint (0 errors) and prettier
|
|
94
|
+
were run on the changed TS workspaces.
|
|
95
|
+
|
|
96
|
+
Refs SNO-4167
|
|
97
|
+
|
|
98
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
99
|
+
|
|
100
|
+
* feat: read onboarding task status live from Jira instead of copying it
|
|
101
|
+
|
|
102
|
+
Jira is the source of truth for onboarding tasks, so the intranet no
|
|
103
|
+
longer mirrors completion into onboardingChecklist.
|
|
104
|
+
|
|
105
|
+
- Candidates keep only the link from task to issue key; `done` is gone,
|
|
106
|
+
`announced` remains for the one-time "utstyret er bestilt" message.
|
|
107
|
+
- GET /v1.0/protected/onboarding/issues returns every onboarding
|
|
108
|
+
candidate's issues (or one, with candidateId) with status, assignee
|
|
109
|
+
and browse link from a single Jira query; statusError says why when
|
|
110
|
+
Jira is unreachable.
|
|
111
|
+
- Candidate detail, the onboarding dashboard and Min rekruttering count
|
|
112
|
+
a task as done when Jira says so (or it was ticked before it got an
|
|
113
|
+
issue). Tasks with an issue are read-only and link to Jira.
|
|
114
|
+
- The sync job now only creates the equipment and follow-up issues and
|
|
115
|
+
announces a finished equipment order.
|
|
116
|
+
|
|
117
|
+
New UI text keys are seeded on recruitment-web-admin-candidate-page in
|
|
118
|
+
prod. Committed with --no-verify from a worktree; recruitment-web lint
|
|
119
|
+
(0 errors), prettier and tsc on the changed micros were run.
|
|
120
|
+
|
|
121
|
+
Refs SNO-4167
|
|
122
|
+
|
|
123
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
124
|
+
|
|
125
|
+
* feat: create the equipment issue when the order is placed; sync daily
|
|
126
|
+
|
|
127
|
+
- employees-function calls recruitment-function (generated client, MI
|
|
128
|
+
token) right after an equipment order, and recruitment creates the
|
|
129
|
+
equipment Jira issue on the new hire's onboarding. A failed call is
|
|
130
|
+
reported and the daily run catches up.
|
|
131
|
+
- New POST /v1.0/protected/onboarding/equipment-order.
|
|
132
|
+
- SyncOnboardingIssuesJob now runs daily at 07:00: due follow-ups,
|
|
133
|
+
missed equipment issues, and the one-time "utstyret er bestilt"
|
|
134
|
+
message.
|
|
135
|
+
- Studio hides the manual onboarding checklist once a candidate has
|
|
136
|
+
Jira issues (status lives in Jira and the intranet); the Jira list
|
|
137
|
+
shows task title per issue.
|
|
138
|
+
|
|
139
|
+
Refs SNO-4167
|
|
140
|
+
|
|
141
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
142
|
+
|
|
143
|
+
* fix(recruitment): look up Jira assignees with assignable-user search
|
|
144
|
+
|
|
145
|
+
The connected Jira account (Olaf) lacks the global Browse users
|
|
146
|
+
permission, so /user/search returns nothing. /user/assignable/search
|
|
147
|
+
scoped to the project works with read:jira-user and is the right
|
|
148
|
+
question anyway: can this person be assigned in the project?
|
|
149
|
+
|
|
150
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
151
|
+
|
|
152
|
+
* fix(recruitment): bulk-create onboarding issues and harden Jira parsing
|
|
153
|
+
|
|
154
|
+
Found in a live run against the test Jira site:
|
|
155
|
+
- Creating 27 issues one by one took ~45 s locally, close to the 60 s
|
|
156
|
+
request budget, and a run cut short left issues in Jira that were
|
|
157
|
+
never linked, so a retry duplicated them. Task issues are now created
|
|
158
|
+
with one /issue/bulk call, and every issue Jira accepted is saved even
|
|
159
|
+
when others are rejected.
|
|
160
|
+
- The Jira access token was fetched from platform on every Jira call;
|
|
161
|
+
it is now fetched once per request.
|
|
162
|
+
- Unassigned issues ("assignee": null) crashed status parsing; JSON
|
|
163
|
+
nulls are handled.
|
|
164
|
+
|
|
165
|
+
Adds adapter tests against recorded Jira responses.
|
|
166
|
+
|
|
167
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
168
|
+
|
|
169
|
+
* feat(recruitment): create onboarding Jira issues on schedule, X days before start
|
|
170
|
+
|
|
171
|
+
Each onboarding task's existing "Påminn kanal X dager før oppstart"
|
|
172
|
+
(remindDaysBefore) now also decides when its Jira issue is created:
|
|
173
|
+
start date minus X days. Tasks without it are created as soon as the
|
|
174
|
+
candidate is onboarding. The daily job creates what has become due for
|
|
175
|
+
ONBOARDING candidates whose start date is at most follow-up-days back;
|
|
176
|
+
"Kjør automatisk onboarding" creates what is due right away. Candidates
|
|
177
|
+
without a start date get nothing.
|
|
178
|
+
|
|
179
|
+
Also fixes the task API, which projected the stale reminderWeeksBefore
|
|
180
|
+
field instead of remindDaysBefore.
|
|
181
|
+
|
|
182
|
+
Refs SNO-4167
|
|
183
|
+
|
|
184
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
185
|
+
|
|
186
|
+
* feat(recruitment): create all onboarding issues at once and place each in the sprint of its due date
|
|
187
|
+
|
|
188
|
+
From recruitment (Silje): create the issues when the candidate is moved
|
|
189
|
+
to onboarding, and put them in sprints based on the start date.
|
|
190
|
+
|
|
191
|
+
- Moving a candidate to ONBOARDING starts issue creation in the
|
|
192
|
+
background from the candidate page; the daily job is the safety net.
|
|
193
|
+
- Every issue gets a Jira due date: start date minus the task's "X dager
|
|
194
|
+
før oppstart", or the start date when it has none.
|
|
195
|
+
- Each issue goes into the sprint whose dates cover its due date (active
|
|
196
|
+
sprint when due already, the last planned sprint when beyond the
|
|
197
|
+
planned ones). Nothing is left in the backlog. Sprints are read from
|
|
198
|
+
issue search, so no extra Jira Software scope is needed.
|
|
199
|
+
- The daily job moves open issues to the right sprint when sprints are
|
|
200
|
+
added or re-dated.
|
|
201
|
+
- Candidate page shows due date and sprint on each Jira task; the
|
|
202
|
+
"planned" state is gone since every task exists in Jira.
|
|
203
|
+
|
|
204
|
+
Refs SNO-4167
|
|
205
|
+
|
|
206
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
207
|
+
|
|
208
|
+
* chore: regenerate Sanity types and clients for the integrated onboarding branch
|
|
209
|
+
|
|
210
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
# 2.0.0 (2026-09-02)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
### Bug Fixes
|
|
220
|
+
|
|
221
|
+
* **platform:** collect the founder's details at signup ([#2112](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2112)) ([c5d8149](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/c5d814902d4b298cb6a26375f9c0af074eedf279))
|
|
222
|
+
* **platform:** export endpoint declares binary response — regen emitted a dangling BusinessExport ref that broke every JS build ([d3cf2d9](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/d3cf2d9818ded0388e56254d2328a8f3ded70b84))
|
|
223
|
+
* **platform:** show SSO for accounts without a password, pin scim to platform host ([fc2f551](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/fc2f5512ff8f4983ac052b0728753e630b81d761))
|
|
224
|
+
* **sanity:** close the scope-grant escalation, and move tenant access onto generated clients ([#2093](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2093)) ([c40608a](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/c40608a223cc725d1182dc176561540c3bc237a9))
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
* feat!: subcontractor re-invoicing — year overview, kickback via AI, own access scope (#2283) ([bdc81f6](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/bdc81f6818bfc0e910aa3a820cb870054dc73c9f)), closes [#2283](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2283)
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
### Features
|
|
231
|
+
|
|
232
|
+
* **access:** hide baseline (default) scopes from the user-grant picker ([#1684](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1684)) ([2750333](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/27503339d0baac52b2d0da51998551d00f1f6d39))
|
|
233
|
+
* add BusinessStatus enum and update related files ([2af8de7](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/2af8de7707a20e44aca3a3f358b83fbd77cf0ccb))
|
|
234
|
+
* add initial .NET and TypeScript client implementations ([425d183](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/425d183d5f3d928b6c0dd6c2cb36c4d82459b8b6))
|
|
235
|
+
* add platform client and update business management code ([d6c3e5a](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/d6c3e5a7587ee31cb780e13debc35150819cc338))
|
|
236
|
+
* **admin:** self-service admin forms, form kit, and fleet-wide content edit mode ([#1748](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1748)) ([174dab1](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/174dab19f7c75e9e56884cf21b553b6b3893dbb9))
|
|
237
|
+
* **auth:** exchange identity-provider tokens for platform tokens ([#1991](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1991)) ([e711a2f](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/e711a2f638f355891e97e84109b960184bcc2fec))
|
|
238
|
+
* **auth:** password + TOTP login (Phase 1, deploy-dark behind PASSWORD_AUTH_ENABLED) ([#1777](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1777)) ([8545b84](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/8545b847258d6f15563f74808eddf714d32d7f6e))
|
|
239
|
+
* **auth:** record every impersonated request in the impersonation audit log ([#2188](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2188)) ([65e4ab7](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/65e4ab76e842c326c931a18399deae60e08cd4d2))
|
|
240
|
+
* **billing:** card on file is Stripe-owned truth, operators only set invoice terms ([f789f2a](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/f789f2abeafeb9326d79b5ad8590c3244ae6ddfb))
|
|
241
|
+
* **billing:** Phase 2 — enforcement, trial UX, module-aware menu ([#1755](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1755)) ([a5a4533](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/a5a4533b6c8a7658d90063ce76a6f940318cbad8))
|
|
242
|
+
* **employees:** inherited system access + provisioning status on /manage/users ([#2233](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2233)) ([5286900](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/5286900de3524cc9bbffc06e759f3de22c70964c))
|
|
243
|
+
* enforcement hardening + view-as-employee + mobile/dark + scroll fix ([#1780](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1780)) ([54e0eae](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/54e0eae0a31384de6bb65cb86af0a5b5dfff3a0e)), closes [#1779](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1779) [#1779](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1779)
|
|
244
|
+
* **integrations:** disconnect from the UI, and ask which provider to use ([#2410](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2410)) ([a068f81](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/a068f81f1b23c2860b9ed8aeddc2500ae6aeebab))
|
|
245
|
+
* **integrations:** show connected OAuth user on integrasjoner page ([a7703c0](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/a7703c00a1784cabe010d9aa013d5a580a5df2d9))
|
|
246
|
+
* multi-business platform — secret persistence, integration checks, feature flags ([#1556](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1556)) ([990de8f](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/990de8f2044a619de641d8066d40d503ab390070)), closes [#70](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/70) [#71](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/71) [#69](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/69)
|
|
247
|
+
* **newsletter:** AI-summarized newsletters for tag subscribers ([#861](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/861)) ([9f7e676](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/9f7e6761e8c7e8271f0d10856bbc155b890ad1f2))
|
|
248
|
+
* **openapi:** use 7.23.0-SNAPSHOT, drop ThrowOnAnyError post-gen patch ([#1327](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1327)) ([22903d3](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/22903d3fba7234a9222019589922dbfd21484aa2)), closes [OpenAPITools/openapi-generator#23663](https://github.com/OpenAPITools/openapi-generator/issues/23663) [#30](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/30)
|
|
249
|
+
* **platform-client:** regen for GitHub repo picker + business api-token ([ab6aa36](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/ab6aa36354aaadff87c8b5cea5d37317a39d371b))
|
|
250
|
+
* **platform-web:** add an sso section under the enterprise menu ([6349b35](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/6349b354790e3bd69515561f3603954971d91df9))
|
|
251
|
+
* **platform:** access endpoints to edit tenant scopeGrants (phase 4) ([8231fcc](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/8231fcca8aca85c0e09283e87c0b39efa7a37783))
|
|
252
|
+
* **platform:** add olaf teams-settings endpoint and business-config model ([64baa53](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/64baa53b6eafe47e83c73cb10331026e54baf3e4))
|
|
253
|
+
* **platform:** admin app picker for systems + explicit role assignment ([#2234](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2234)) ([9a496f2](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/9a496f214eccdef27bbeb60e5b0b0256b0ace5f4))
|
|
254
|
+
* **platform:** customer API keys with scoped auth + printer pull API ([#1654](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1654)) ([076d7ee](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/076d7ee3a7b5f46fb77e4e5a7718f75a120b3e9d))
|
|
255
|
+
* **platform:** disconnect an integration, and stop guessing between two ([#2408](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2408)) ([2c66faa](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/2c66faae2d0e892269755e968254981b215766e9))
|
|
256
|
+
* **platform:** granular customer API-key scopes with typed catalog + endpoint ([#1660](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1660)) ([20289a3](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/20289a3b5bfe4a19c11e7df6e8b91cf505471d2c))
|
|
257
|
+
* **platform:** hide password management when Entra SSO is the identity source ([da7fd6a](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/da7fd6a6aa9f0ab5c03f2d557f410f5bde63c2f5))
|
|
258
|
+
* **platform:** let businesses pick repos Olaf works on, cloned to the VM ([#1636](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1636)) ([c4f8730](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/c4f873062dba23ec758823e45256ace272fc0feb))
|
|
259
|
+
* **platform:** license-override picker in /manage onboarding config ([7572f1e](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/7572f1e6a3ecd957d62be326cb13c92a5010bcc6))
|
|
260
|
+
* **platform:** meter cleanup + password signup + view-as + loader/copy passes ([#1778](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1778)) ([4f65a12](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/4f65a129a542130679fd7aff5898aaf1999c54f6))
|
|
261
|
+
* **platform:** per-tenant PowerOffice re-invoice product picker ([#2322](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2322)) ([db4fd2b](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/db4fd2b759aa68ee72ff80aee600674a799d24d4)), closes [#2321](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2321)
|
|
262
|
+
* **platform:** per-user system seats with role selection on /manage/users ([#2231](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2231)) ([35c90d5](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/35c90d50ac56aeb28f37cab67ada6f49e93df9d5))
|
|
263
|
+
* **platform:** pick onboarding groups from the tenant's own entra ([d3662d0](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/d3662d0a50dead9f8c4761ecc91842618b54786c))
|
|
264
|
+
* **platform:** PowerOffice onboarding as a connect-style integration ([#2214](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2214)) ([3ea9c70](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/3ea9c704bc958835879f36bb71e0eae517f9070d))
|
|
265
|
+
* **platform:** reconcile registered AI tokens against Azure's actual cost ([#1781](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1781)) ([fdf26bc](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/fdf26bc7f4d6d39d42df2e985cb985560d7e89d1))
|
|
266
|
+
* **platform:** remember saved onboarding directory selections ([#1857](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1857)) ([192e10d](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/192e10d6b66c8214461606869916391f6fc0551a))
|
|
267
|
+
* **platform:** resolve app links for non-admin employees on /manage ([#1893](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1893)) ([4022417](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/4022417a90cf0f037c97a9940c0d953ac16225ed))
|
|
268
|
+
* **platform:** select Google Analytics property at platform level ([#1598](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1598)) ([a4dffed](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/a4dffed997e1128ebc3b729d50a62030d68b1399))
|
|
269
|
+
* **platform:** serve tenant users through platform-function ([#2090](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2090)) ([2a622e6](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/2a622e62ae624a8fda57d7c4cd7940e255e39458))
|
|
270
|
+
* **platform:** serve the caller's settings and employee photos through platform-function ([#2095](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2095)) ([e2ddcb7](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/e2ddcb7514e2a30528168c1d95dbbb3112caeffd))
|
|
271
|
+
* **platform:** systems picker via enterprise-app + app-role dropdowns ([1326174](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/1326174992b77f0df118065dc958072ba42a9eee))
|
|
272
|
+
* **platform:** update generated client with secret status API and use API types ([d2143e4](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/d2143e46f53ca6e089cb483cd90bd4f95b7ac718))
|
|
273
|
+
* **platform:** usage in kroner — stage 1 (units + value everywhere) ([#2073](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2073)) ([aa94645](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/aa94645793e4d320f6a8acfd45f64c560d12a75e))
|
|
274
|
+
* provider-independent accounting connector + PowerOffice-employee onboarding ([#2327](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2327)) ([69fee51](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/69fee51c6353b464de68494dfc0e88768b362deb))
|
|
275
|
+
* **signup:** keep the plan the customer picked on the pricing page ([#2051](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2051)) ([2795b55](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/2795b55ef094c8d8c1ea1e947003cd304e5c4ff9))
|
|
276
|
+
* **snokam.no/presentasjoner:** Added presentasjoner page ([#1535](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/1535)) ([c37fbb6](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/c37fbb60aec35a2817254e4139c3d2080231b15a))
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
### BREAKING CHANGES
|
|
280
|
+
|
|
281
|
+
* accounting client contract replaces SubcontractorMonthlySummary,
|
|
282
|
+
SubcontractorConfig and ProjectSubcontractor with SubcontractorProject,
|
|
283
|
+
SubcontractorProjectSummary and OutgoingInvoiceSummary.
|
|
284
|
+
|
|
285
|
+
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
286
|
+
|
|
287
|
+
* chore(clients): regenerate accounting client for year-based reinvoicing
|
|
288
|
+
|
|
289
|
+
Regenerated from the reworked reinvoicing endpoints: adds SubcontractorProject,
|
|
290
|
+
SubcontractorProjectSummary and OutgoingInvoiceSummary; removes the retired
|
|
291
|
+
SubcontractorMonthlySummary, SubcontractorConfig and ProjectSubcontractor models.
|
|
292
|
+
|
|
293
|
+
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
294
|
+
|
|
295
|
+
* feat: auto-create subcontractor drafts daily and tag them with the project
|
|
296
|
+
|
|
297
|
+
- Cron GenerateSubcontractorDraftInvoices runs daily (was monthly) so a new
|
|
298
|
+
incoming supplier invoice gets its draft re-invoice the next morning
|
|
299
|
+
- Draft outgoing invoices now carry the project code on both the invoice
|
|
300
|
+
header and each line, so they reconcile in the /okonomi/underleverandor
|
|
301
|
+
panel by project like any posted invoice — previously auto-drafts had no
|
|
302
|
+
project and never appeared
|
|
303
|
+
- Manual re-run endpoint (CreateSubcontractorInvoiceDraft) kept as override
|
|
304
|
+
|
|
305
|
+
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
306
|
+
|
|
307
|
+
* chore(clients): regenerate accounting client for optional-year reinvoicing endpoints
|
|
308
|
+
|
|
309
|
+
Project incoming/outgoing endpoints now accept an optional `year` (omit for full
|
|
310
|
+
history), so the generated query params become `year?: number | null`.
|
|
311
|
+
|
|
312
|
+
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
313
|
+
|
|
314
|
+
* feat: correct incoming totals, full-width income graph, årssum row, full-history detail
|
|
315
|
+
|
|
316
|
+
- Incoming supplier invoices now read from PowerOffice AccountTransactions
|
|
317
|
+
(VoucherType.IncomingInvoice, cost-account lines), fixing the empty incoming
|
|
318
|
+
column: the Voucher.IncomingInvoice list feed returns nothing, so the net cost
|
|
319
|
+
(verified 631 377 for 29.10 Mar–May) never showed.
|
|
320
|
+
- Voucher documentation fetch degrades to no-PDF on PowerOffice Forbidden instead
|
|
321
|
+
of a 500, so "Ingen PDF tilgjengelig" renders cleanly until the scope is granted.
|
|
322
|
+
- Detail page defaults to the project's full history; year becomes an optional
|
|
323
|
+
filter ("Alle år"), and the reconciliation table groups by year+month.
|
|
324
|
+
- Accumulated-income graph spans full width (Section stretchItems); detail table
|
|
325
|
+
gains an annual-total footer row.
|
|
326
|
+
|
|
327
|
+
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
328
|
+
|
|
329
|
+
* feat: kickback subcontractors — AI-parse forwarded invoices into provision drafts
|
|
330
|
+
|
|
331
|
+
- chatgpt-function: generic extract(pdf, schema) endpoint (Azure OpenAI Responses
|
|
332
|
+
API, native PDF, metered) — no PdfPig.
|
|
333
|
+
- accounting-function: read the provisjon inbox over Microsoft Graph (per-tenant
|
|
334
|
+
microsoft365 OAuth connection + KICKBACK_INBOX tenant secret), AI-extract each
|
|
335
|
+
forwarded invoice, AI-match to a PowerOffice subproject (Bestillingsnr/
|
|
336
|
+
PurchaseOrderNo + consultant), create an idempotent provision draft
|
|
337
|
+
(markup% × net) — DraftInvoiceExists-guarded, safe to re-run.
|
|
338
|
+
- new accounting.subcontractors scope in the baseline (own scope, not salary);
|
|
339
|
+
all reinvoicing/kickback endpoints move off accounting.salary; frontend shows
|
|
340
|
+
"Du har ikke tilgang" on 403.
|
|
341
|
+
- platform-function: provider-agnostic ListMailboxes endpoint (/businesses/{id}/
|
|
342
|
+
mailboxes) via DirectoryReader — for the provisjon-inbox picker.
|
|
343
|
+
- finance-web: kickback review table. platform-web: provisjon-inbox selector.
|
|
344
|
+
- Regenerate accounting, chatgpt and platform clients.
|
|
345
|
+
|
|
346
|
+
(--no-verify: huge staged set trips the React-Compiler phantom eslint bail;
|
|
347
|
+
prettier clean and per-workspace tsc green.)
|
|
348
|
+
|
|
349
|
+
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
package/README.md
CHANGED
|
@@ -62,6 +62,7 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
|
|
|
62
62
|
*PlatformClient* | [**backfillBridgeWebhook**](docs/PlatformClient.md#backfillbridgewebhook) | **POST** /v1.0/protected/businesses/{id}/bridge-webhook | Re-create a business\'s Sanity bridge webhook with a managed API key
|
|
63
63
|
*PlatformClient* | [**checkIntegration**](docs/PlatformClient.md#checkintegration) | **POST** /v1.0/protected/businesses/{id}/integrations/{key}/check | Run a live integration connectivity check
|
|
64
64
|
*PlatformClient* | [**checkPlatformIntegration**](docs/PlatformClient.md#checkplatformintegration) | **POST** /v1.0/protected/platform/integrations/{key}/check | Live-probe a platform integration
|
|
65
|
+
*PlatformClient* | [**chooseProvider**](docs/PlatformClient.md#chooseprovideroperation) | **PUT** /v1.0/protected/businesses/{id}/integrations/chosen | Choose the active provider for a capability
|
|
65
66
|
*PlatformClient* | [**connectTenant**](docs/PlatformClient.md#connecttenant) | **POST** /v1.0/protected/businesses/{id}/connect | Connect the caller\'s tenant to a business
|
|
66
67
|
*PlatformClient* | [**createApiToken**](docs/PlatformClient.md#createapitokenoperation) | **POST** /v1.0/protected/businesses/{id}/tokens | Create an API token
|
|
67
68
|
*PlatformClient* | [**createBillingCheckout**](docs/PlatformClient.md#createbillingcheckout) | **POST** /v1.0/protected/businesses/{id}/billing/checkout | Start a subscription checkout
|
|
@@ -73,6 +74,7 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
|
|
|
73
74
|
*PlatformClient* | [**devicePairPoll**](docs/PlatformClient.md#devicepairpoll) | **POST** /v1.0/public/devices/poll | Ask whether the code was approved
|
|
74
75
|
*PlatformClient* | [**devicePairRequest**](docs/PlatformClient.md#devicepairrequest) | **POST** /v1.0/public/devices/pair | Ask for a pairing code
|
|
75
76
|
*PlatformClient* | [**disableCredential**](docs/PlatformClient.md#disablecredential) | **DELETE** /v1.0/protected/businesses/{id}/credentials/{credentialId} | Disable a password credential
|
|
77
|
+
*PlatformClient* | [**disconnectIntegration**](docs/PlatformClient.md#disconnectintegration) | **DELETE** /v1.0/protected/businesses/{id}/integrations/{key} | Disconnect an integration
|
|
76
78
|
*PlatformClient* | [**endImpersonation**](docs/PlatformClient.md#endimpersonation) | **POST** /v1.0/protected/impersonate/{tokenId}/end | End a view-as-employee session
|
|
77
79
|
*PlatformClient* | [**exportBusinessData**](docs/PlatformClient.md#exportbusinessdata) | **POST** /v1.0/protected/businesses/{id}/export | Export a business\'s data (GDPR)
|
|
78
80
|
*PlatformClient* | [**getApiScopes**](docs/PlatformClient.md#getapiscopes) | **GET** /v1.0/protected/scopes | List grantable API scopes
|
|
@@ -101,6 +103,7 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
|
|
|
101
103
|
*PlatformClient* | [**getPlatformIntegrations**](docs/PlatformClient.md#getplatformintegrations) | **GET** /v1.0/protected/platform/integrations | List platform-shared integrations
|
|
102
104
|
*PlatformClient* | [**getPlatformOAuthAccessToken**](docs/PlatformClient.md#getplatformoauthaccesstoken) | **GET** /v1.0/protected/platform/oauth/{provider}/access-token | Mint a fresh platform OAuth access token
|
|
103
105
|
*PlatformClient* | [**getPlatformSecrets**](docs/PlatformClient.md#getplatformsecrets) | **GET** /v1.0/protected/platform/secrets | List shared platform secrets
|
|
106
|
+
*PlatformClient* | [**getProviderCatalog**](docs/PlatformClient.md#getprovidercatalog) | **GET** /v1.0/protected/catalog/providers | List provider brand catalog
|
|
104
107
|
*PlatformClient* | [**getProvisioningStatus**](docs/PlatformClient.md#getprovisioningstatus) | **GET** /v1.0/protected/businesses/{id}/status | Get provisioning status
|
|
105
108
|
*PlatformClient* | [**getTeamsAuthState**](docs/PlatformClient.md#getteamsauthstate) | **GET** /v1.0/protected/businesses/{id}/teams/auth-state | Read the business\'s stored Teams authenticated join session
|
|
106
109
|
*PlatformClient* | [**getTeamsUserAcsToken**](docs/PlatformClient.md#getteamsuseracstoken) | **GET** /v1.0/protected/businesses/{id}/teams/acs-token | Mint an ACS access token for the connected M365 user as a Teams user
|
|
@@ -155,7 +158,7 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
|
|
|
155
158
|
*PlatformClient* | [**requestUpgrade**](docs/PlatformClient.md#requestupgrade) | **POST** /v1.0/protected/businesses/{id}/request-upgrade | Request an Enterprise upgrade
|
|
156
159
|
*PlatformClient* | [**resetCredential**](docs/PlatformClient.md#resetcredential) | **POST** /v1.0/protected/businesses/{id}/credentials/{credentialId}/reset | Admin-initiated password reset
|
|
157
160
|
*PlatformClient* | [**resolvePlatformSanityConfig**](docs/PlatformClient.md#resolveplatformsanityconfig) | **GET** /v1.0/protected/sanity/platform | Resolve the platform Sanity read config
|
|
158
|
-
*PlatformClient* | [**resolveStudioSanityConfig**](docs/PlatformClient.md#resolvestudiosanityconfig) | **GET** /v1.0/public/sanity-config | Resolve the Sanity Studio project/dataset for a host
|
|
161
|
+
*PlatformClient* | [**resolveStudioSanityConfig**](docs/PlatformClient.md#resolvestudiosanityconfig) | **GET** /v1.0/public/sanity-config | Resolve the Sanity Studio project/dataset and frontend URLs for a host
|
|
159
162
|
*PlatformClient* | [**resolveTenant**](docs/PlatformClient.md#resolvetenant) | **GET** /v1.0/protected/tenant | Resolve a tenant
|
|
160
163
|
*PlatformClient* | [**resolveTenantSanityCredentials**](docs/PlatformClient.md#resolvetenantsanitycredentials) | **GET** /v1.0/protected/businesses/by-host/{host}/sanity | Resolve a tenant\'s Sanity read credentials by host
|
|
161
164
|
*PlatformClient* | [**revokeApiToken**](docs/PlatformClient.md#revokeapitoken) | **DELETE** /v1.0/protected/businesses/{id}/tokens/{fingerprint} | Revoke an API token
|
|
@@ -163,7 +166,6 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
|
|
|
163
166
|
*PlatformClient* | [**revokeDevice**](docs/PlatformClient.md#revokedevice) | **DELETE** /v1.0/protected/businesses/{id}/devices/{deviceId} | Revoke a screen
|
|
164
167
|
*PlatformClient* | [**setAccountingGadgetsProject**](docs/PlatformClient.md#setaccountinggadgetsproject) | **POST** /v1.0/protected/businesses/{id}/accounting/gadgets-project | Set the gadgets project code
|
|
165
168
|
*PlatformClient* | [**setAccountingReinvoiceProduct**](docs/PlatformClient.md#setaccountingreinvoiceproduct) | **POST** /v1.0/protected/businesses/{id}/accounting/reinvoice-product | Set the re-invoice product code
|
|
166
|
-
*PlatformClient* | [**setActiveProvider**](docs/PlatformClient.md#setactiveprovideroperation) | **PUT** /v1.0/protected/businesses/{id}/integrations/active | Choose the active provider for a capability
|
|
167
169
|
*PlatformClient* | [**setBusinessEmployeePhoto**](docs/PlatformClient.md#setbusinessemployeephoto) | **POST** /v1.0/protected/businesses/{id}/employees/{employeeId}/photo | Upload an employee\'s profile photo
|
|
168
170
|
*PlatformClient* | [**setEmployeeScopeGrants**](docs/PlatformClient.md#setemployeescopegrants) | **PUT** /v1.0/protected/businesses/{id}/access/employees/{employeeId} | Set the scopes granted directly to an employee
|
|
169
171
|
*PlatformClient* | [**setFacebookSelectedAccount**](docs/PlatformClient.md#setfacebookselectedaccount) | **PUT** /v1.0/protected/businesses/{id}/oauth/facebook/account | Set the selected Facebook/Instagram posting account
|
|
@@ -210,6 +212,7 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
|
|
|
210
212
|
- [BusinessOwner](docs/BusinessOwner.md)
|
|
211
213
|
- [BusinessUsageRollup](docs/BusinessUsageRollup.md)
|
|
212
214
|
- [Capability](docs/Capability.md)
|
|
215
|
+
- [ChooseProviderRequest](docs/ChooseProviderRequest.md)
|
|
213
216
|
- [CommissionTierReference](docs/CommissionTierReference.md)
|
|
214
217
|
- [ComponentBlocksInnerOneOfChildrenInner](docs/ComponentBlocksInnerOneOfChildrenInner.md)
|
|
215
218
|
- [ComponentBlocksInnerOneOfMarkDefsInner](docs/ComponentBlocksInnerOneOfMarkDefsInner.md)
|
|
@@ -286,6 +289,8 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
|
|
|
286
289
|
- [PowerOfficeProject](docs/PowerOfficeProject.md)
|
|
287
290
|
- [PowerOfficeProjectsResponse](docs/PowerOfficeProjectsResponse.md)
|
|
288
291
|
- [ProtectedEmployee](docs/ProtectedEmployee.md)
|
|
292
|
+
- [ProviderCatalogEntry](docs/ProviderCatalogEntry.md)
|
|
293
|
+
- [ProviderCatalogResponse](docs/ProviderCatalogResponse.md)
|
|
289
294
|
- [ProvisioningEvent](docs/ProvisioningEvent.md)
|
|
290
295
|
- [RecordImpersonationActivityRequest](docs/RecordImpersonationActivityRequest.md)
|
|
291
296
|
- [RenameDeviceRequest](docs/RenameDeviceRequest.md)
|
|
@@ -317,7 +322,6 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
|
|
|
317
322
|
- [SanityTvCategoryDashboardsInnerBackgroundImageAsset](docs/SanityTvCategoryDashboardsInnerBackgroundImageAsset.md)
|
|
318
323
|
- [ScopeDefinition](docs/ScopeDefinition.md)
|
|
319
324
|
- [SessionBootstrapRequest](docs/SessionBootstrapRequest.md)
|
|
320
|
-
- [SetActiveProviderRequest](docs/SetActiveProviderRequest.md)
|
|
321
325
|
- [SetFacebookAccountRequest](docs/SetFacebookAccountRequest.md)
|
|
322
326
|
- [SetGoogleAnalyticsPropertyRequest](docs/SetGoogleAnalyticsPropertyRequest.md)
|
|
323
327
|
- [SetPlatformSecretRequest](docs/SetPlatformSecretRequest.md)
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
import * as runtime from '../runtime';
|
|
13
|
-
import type { ActivateRequest, ActivateResult, AddCustomDomainRequest, ApiTokenSummary, ApiTokenVerifyResult, AppCatalogEntry, AppModule, ApproveDeviceRequest, BillingPaymentMethod, BillingSessionRequest, BillingSessionResponse, BridgeWebhookResult, Business, BusinessAccess, BusinessHealth, Capability, CreateApiTokenRequest, CreateUserRequest, CreatedApiToken, CredentialSummary, CustomDomainProvisioning, DevicePairRequestBody, DevicePairing, DevicePairingStatus, DevicePollRequestBody, DeviceScreen, DirectoryGroupsResponse, DirectoryLicensesResponse, DirectoryMailbox, DirectoryServicePrincipalsResponse, EmployeeSettings, EmployeeSystemAccess, EmployeeSystemConfig, FacebookAccount, GitHubRepo, GoogleAnalyticsProperty, GoogleAnalyticsSelection, ImpersonationHistoryEntry, IntegrationCheckResult, IntegrationSummary, InviteCredentialRequest, InvoiceBasis, LoginConfig, MeApp, MeterEnforcementDecision, OAuthAccessTokenResponse, OAuthStartResponse, OlafApiKeyResponse, OlafTeamsSettings, OnboardBusinessRequest, OnboardingConfig, OnboardingStatus, PasswordLoginRequest, PasswordLoginResult, PatchBusinessRequest, PatchEmployee, PendingDevicePreview, PlanInfo, PlatformIntegration, PlatformSanityConfig, PlatformSecretStatus, PowerOfficeConnectResponse, PowerOfficeProduct, PowerOfficeProductsResponse, PowerOfficeProject, PowerOfficeProjectsResponse, ProtectedEmployee, RecordImpersonationActivityRequest, RenameDeviceRequest, ResetConfirmRequest, ResetRequest, RevokeRequest, ScopeDefinition, SessionBootstrapRequest,
|
|
13
|
+
import type { ActivateRequest, ActivateResult, AddCustomDomainRequest, ApiTokenSummary, ApiTokenVerifyResult, AppCatalogEntry, AppModule, ApproveDeviceRequest, BillingPaymentMethod, BillingSessionRequest, BillingSessionResponse, BridgeWebhookResult, Business, BusinessAccess, BusinessHealth, Capability, ChooseProviderRequest, CreateApiTokenRequest, CreateUserRequest, CreatedApiToken, CredentialSummary, CustomDomainProvisioning, DevicePairRequestBody, DevicePairing, DevicePairingStatus, DevicePollRequestBody, DeviceScreen, DirectoryGroupsResponse, DirectoryLicensesResponse, DirectoryMailbox, DirectoryServicePrincipalsResponse, EmployeeSettings, EmployeeSystemAccess, EmployeeSystemConfig, FacebookAccount, GitHubRepo, GoogleAnalyticsProperty, GoogleAnalyticsSelection, ImpersonationHistoryEntry, IntegrationCheckResult, IntegrationSummary, InviteCredentialRequest, InvoiceBasis, LoginConfig, MeApp, MeterEnforcementDecision, OAuthAccessTokenResponse, OAuthStartResponse, OlafApiKeyResponse, OlafTeamsSettings, OnboardBusinessRequest, OnboardingConfig, OnboardingStatus, PasswordLoginRequest, PasswordLoginResult, PatchBusinessRequest, PatchEmployee, PendingDevicePreview, PlanInfo, PlatformIntegration, PlatformSanityConfig, PlatformSecretStatus, PowerOfficeConnectResponse, PowerOfficeProduct, PowerOfficeProductsResponse, PowerOfficeProject, PowerOfficeProjectsResponse, ProtectedEmployee, ProviderCatalogResponse, RecordImpersonationActivityRequest, RenameDeviceRequest, ResetConfirmRequest, ResetRequest, RevokeRequest, ScopeDefinition, SessionBootstrapRequest, SetFacebookAccountRequest, SetGoogleAnalyticsPropertyRequest, SetPlatformSecretRequest, SetScopeGrantsRequest, SetWorkReposRequest, SetWorkspaceRepoRequest, SignupConfig, SignupRequest, SignupResult, SsoExchangeRequest, StartImpersonationRequest, StartImpersonationResult, StudioSanityConfig, TeamsAcsTokenResponse, TeamsAuthStateResponse, TenantInfo, TenantSanityCredentials, TokenExchangeRequest, TokenExchangeResult, TokenReconciliationReport, TotpEnrollRequest, TotpEnrollResult, UpdateAppsRequest, UpdateSecretsRequest, UsageDailySeries, UsageEventsRequest, UsageRollup, UsageSummary, VerifyApiTokenRequest, WorkReposSelection, WorkspaceRepoSelection } from '../models/index';
|
|
14
14
|
export interface AddCustomDomainOperationRequest {
|
|
15
15
|
id: string;
|
|
16
16
|
addCustomDomainRequest: AddCustomDomainRequest;
|
|
@@ -35,6 +35,10 @@ export interface CheckIntegrationRequest {
|
|
|
35
35
|
export interface CheckPlatformIntegrationRequest {
|
|
36
36
|
key: string;
|
|
37
37
|
}
|
|
38
|
+
export interface ChooseProviderOperationRequest {
|
|
39
|
+
id: string;
|
|
40
|
+
chooseProviderRequest: ChooseProviderRequest;
|
|
41
|
+
}
|
|
38
42
|
export interface ConnectTenantRequest {
|
|
39
43
|
id: string;
|
|
40
44
|
}
|
|
@@ -74,6 +78,10 @@ export interface DisableCredentialRequest {
|
|
|
74
78
|
id: string;
|
|
75
79
|
credentialId: string;
|
|
76
80
|
}
|
|
81
|
+
export interface DisconnectIntegrationRequest {
|
|
82
|
+
id: string;
|
|
83
|
+
key: string;
|
|
84
|
+
}
|
|
77
85
|
export interface EndImpersonationRequest {
|
|
78
86
|
tokenId: string;
|
|
79
87
|
}
|
|
@@ -311,10 +319,6 @@ export interface SetAccountingReinvoiceProductRequest {
|
|
|
311
319
|
id: string;
|
|
312
320
|
powerOfficeProduct: PowerOfficeProduct;
|
|
313
321
|
}
|
|
314
|
-
export interface SetActiveProviderOperationRequest {
|
|
315
|
-
id: string;
|
|
316
|
-
setActiveProviderRequest: SetActiveProviderRequest;
|
|
317
|
-
}
|
|
318
322
|
export interface SetBusinessEmployeePhotoRequest {
|
|
319
323
|
id: string;
|
|
320
324
|
employeeId: string;
|
|
@@ -481,6 +485,20 @@ export declare class PlatformClient extends runtime.BaseAPI {
|
|
|
481
485
|
* Live-probe a platform integration
|
|
482
486
|
*/
|
|
483
487
|
checkPlatformIntegration(requestParameters: CheckPlatformIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IntegrationCheckResult>;
|
|
488
|
+
/**
|
|
489
|
+
* Creates request options for chooseProvider without sending the request
|
|
490
|
+
*/
|
|
491
|
+
chooseProviderRequestOpts(requestParameters: ChooseProviderOperationRequest): Promise<runtime.RequestOpts>;
|
|
492
|
+
/**
|
|
493
|
+
* When a capability has several providers (e.g. PowerOffice vs Tripletex, Coinbase API-key vs OAuth), selects which one the business uses.
|
|
494
|
+
* Choose the active provider for a capability
|
|
495
|
+
*/
|
|
496
|
+
chooseProviderRaw(requestParameters: ChooseProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Business>>;
|
|
497
|
+
/**
|
|
498
|
+
* When a capability has several providers (e.g. PowerOffice vs Tripletex, Coinbase API-key vs OAuth), selects which one the business uses.
|
|
499
|
+
* Choose the active provider for a capability
|
|
500
|
+
*/
|
|
501
|
+
chooseProvider(requestParameters: ChooseProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Business>;
|
|
484
502
|
/**
|
|
485
503
|
* Creates request options for connectTenant without sending the request
|
|
486
504
|
*/
|
|
@@ -635,6 +653,20 @@ export declare class PlatformClient extends runtime.BaseAPI {
|
|
|
635
653
|
* Disable a password credential
|
|
636
654
|
*/
|
|
637
655
|
disableCredential(requestParameters: DisableCredentialRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
656
|
+
/**
|
|
657
|
+
* Creates request options for disconnectIntegration without sending the request
|
|
658
|
+
*/
|
|
659
|
+
disconnectIntegrationRequestOpts(requestParameters: DisconnectIntegrationRequest): Promise<runtime.RequestOpts>;
|
|
660
|
+
/**
|
|
661
|
+
* Deletes every secret the integration stores for this business — including the OAuth refresh token and cached access token — and clears the capability\'s provider choice when it pointed at this integration. Settings such as base URLs are left alone.
|
|
662
|
+
* Disconnect an integration
|
|
663
|
+
*/
|
|
664
|
+
disconnectIntegrationRaw(requestParameters: DisconnectIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Business>>;
|
|
665
|
+
/**
|
|
666
|
+
* Deletes every secret the integration stores for this business — including the OAuth refresh token and cached access token — and clears the capability\'s provider choice when it pointed at this integration. Settings such as base URLs are left alone.
|
|
667
|
+
* Disconnect an integration
|
|
668
|
+
*/
|
|
669
|
+
disconnectIntegration(requestParameters: DisconnectIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Business>;
|
|
638
670
|
/**
|
|
639
671
|
* Creates request options for endImpersonation without sending the request
|
|
640
672
|
*/
|
|
@@ -1027,6 +1059,20 @@ export declare class PlatformClient extends runtime.BaseAPI {
|
|
|
1027
1059
|
* List shared platform secrets
|
|
1028
1060
|
*/
|
|
1029
1061
|
getPlatformSecrets(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<PlatformSecretStatus>>;
|
|
1062
|
+
/**
|
|
1063
|
+
* Creates request options for getProviderCatalog without sending the request
|
|
1064
|
+
*/
|
|
1065
|
+
getProviderCatalogRequestOpts(): Promise<runtime.RequestOpts>;
|
|
1066
|
+
/**
|
|
1067
|
+
* Returns the global, platform-owned provider brand catalog (key, capability, title, logo, description). Single source of truth for provider branding across tenants.
|
|
1068
|
+
* List provider brand catalog
|
|
1069
|
+
*/
|
|
1070
|
+
getProviderCatalogRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProviderCatalogResponse>>;
|
|
1071
|
+
/**
|
|
1072
|
+
* Returns the global, platform-owned provider brand catalog (key, capability, title, logo, description). Single source of truth for provider branding across tenants.
|
|
1073
|
+
* List provider brand catalog
|
|
1074
|
+
*/
|
|
1075
|
+
getProviderCatalog(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProviderCatalogResponse>;
|
|
1030
1076
|
/**
|
|
1031
1077
|
* Creates request options for getProvisioningStatus without sending the request
|
|
1032
1078
|
*/
|
|
@@ -1782,13 +1828,13 @@ export declare class PlatformClient extends runtime.BaseAPI {
|
|
|
1782
1828
|
*/
|
|
1783
1829
|
resolveStudioSanityConfigRequestOpts(requestParameters: ResolveStudioSanityConfigRequest): Promise<runtime.RequestOpts>;
|
|
1784
1830
|
/**
|
|
1785
|
-
* Returns the non-secret Sanity project id and dataset a studio should point at for the given host. A tenant host returns that tenant\'s project; a host that belongs to no business (the platform host) returns the shared platform project. No read/write token is returned — the studio authenticates the user via Sanity login — so this is a public endpoint safe to call from a browser.
|
|
1786
|
-
* Resolve the Sanity Studio project/dataset for a host
|
|
1831
|
+
* Returns the non-secret Sanity project id and dataset a studio should point at for the given host, plus that tenant\'s frontend app URLs so document \'Vis side\' links resolve per tenant. A tenant host returns that tenant\'s project; a host that belongs to no business (the platform host) returns the shared platform project and no app URLs. No read/write token is returned — the studio authenticates the user via Sanity login — so this is a public endpoint safe to call from a browser.
|
|
1832
|
+
* Resolve the Sanity Studio project/dataset and frontend URLs for a host
|
|
1787
1833
|
*/
|
|
1788
1834
|
resolveStudioSanityConfigRaw(requestParameters: ResolveStudioSanityConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudioSanityConfig>>;
|
|
1789
1835
|
/**
|
|
1790
|
-
* Returns the non-secret Sanity project id and dataset a studio should point at for the given host. A tenant host returns that tenant\'s project; a host that belongs to no business (the platform host) returns the shared platform project. No read/write token is returned — the studio authenticates the user via Sanity login — so this is a public endpoint safe to call from a browser.
|
|
1791
|
-
* Resolve the Sanity Studio project/dataset for a host
|
|
1836
|
+
* Returns the non-secret Sanity project id and dataset a studio should point at for the given host, plus that tenant\'s frontend app URLs so document \'Vis side\' links resolve per tenant. A tenant host returns that tenant\'s project; a host that belongs to no business (the platform host) returns the shared platform project and no app URLs. No read/write token is returned — the studio authenticates the user via Sanity login — so this is a public endpoint safe to call from a browser.
|
|
1837
|
+
* Resolve the Sanity Studio project/dataset and frontend URLs for a host
|
|
1792
1838
|
*/
|
|
1793
1839
|
resolveStudioSanityConfig(requestParameters: ResolveStudioSanityConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudioSanityConfig>;
|
|
1794
1840
|
/**
|
|
@@ -1887,20 +1933,6 @@ export declare class PlatformClient extends runtime.BaseAPI {
|
|
|
1887
1933
|
* Set the re-invoice product code
|
|
1888
1934
|
*/
|
|
1889
1935
|
setAccountingReinvoiceProduct(requestParameters: SetAccountingReinvoiceProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
1890
|
-
/**
|
|
1891
|
-
* Creates request options for setActiveProvider without sending the request
|
|
1892
|
-
*/
|
|
1893
|
-
setActiveProviderRequestOpts(requestParameters: SetActiveProviderOperationRequest): Promise<runtime.RequestOpts>;
|
|
1894
|
-
/**
|
|
1895
|
-
* When a capability has several providers (e.g. PowerOffice vs Tripletex, Coinbase API-key vs OAuth), selects which one the business uses.
|
|
1896
|
-
* Choose the active provider for a capability
|
|
1897
|
-
*/
|
|
1898
|
-
setActiveProviderRaw(requestParameters: SetActiveProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Business>>;
|
|
1899
|
-
/**
|
|
1900
|
-
* When a capability has several providers (e.g. PowerOffice vs Tripletex, Coinbase API-key vs OAuth), selects which one the business uses.
|
|
1901
|
-
* Choose the active provider for a capability
|
|
1902
|
-
*/
|
|
1903
|
-
setActiveProvider(requestParameters: SetActiveProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Business>;
|
|
1904
1936
|
/**
|
|
1905
1937
|
* Creates request options for setBusinessEmployeePhoto without sending the request
|
|
1906
1938
|
*/
|