@mmerterden/multi-agent-pipeline 20.8.0 → 20.8.1
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 +12 -0
- package/docs/facts.json +1 -1
- package/manifest.json +63 -62
- package/package.json +2 -2
- package/pipeline/lib/redact.mjs +3 -2
- package/pipeline/scripts/gen-skills-index.mjs +13 -1
- package/pipeline/scripts/pre-commit-check.sh +4 -0
- package/pipeline/skills/.skill-manifest.json +21 -21
- package/pipeline/skills/shared/README.md +64 -64
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +2 -2
- package/pipeline/skills/shared/external/alarmkit/evals/evals.json +2 -2
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +6 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +3 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +3 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +3 -4
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +5 -3
- package/pipeline/skills/shared/external/authentication/SKILL.md +29 -17
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +3 -1
- package/pipeline/skills/shared/external/background-processing/SKILL.md +10 -8
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +7 -7
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +4 -2
- package/pipeline/skills/shared/external/core-data/SKILL.md +12 -2
- package/pipeline/skills/shared/external/coreml/SKILL.md +1 -1
- package/pipeline/skills/shared/external/cryptokit/SKILL.md +1 -1
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +11 -5
- package/pipeline/skills/shared/external/localization-reuse-map/SKILL.md +3 -3
- package/pipeline/skills/shared/external/localization-reuse-map/example-mapping.json +1 -1
- package/pipeline/skills/shared/external/localization-reuse-map/reference/format-and-output.md +8 -7
- package/pipeline/skills/shared/external/localization-reuse-map/reference/publish-and-snapshot.md +2 -2
- package/pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md +5 -2
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/_shared.py +100 -0
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/build-artifact.py +45 -26
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/build-spreadsheet.py +14 -16
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-annotations.py +12 -5
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-legacy-labels.py +2 -1
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/publish-confluence.py +6 -5
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/render-overlay.py +44 -18
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-legacy-values.py +5 -2
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py +10 -11
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/scan-screen-keys.py +4 -33
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/verify-map.py +12 -59
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +4 -2
- package/pipeline/skills/shared/external/skill-creator/template.md +7 -1
- package/pipeline/skills/shared/external/storekit/references/core-patterns.md +6 -1
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +3 -2
- package/pipeline/skills/shared/external/swift-concurrency/references/concurrency-patterns.md +1 -1
- package/pipeline/skills/shared/external/swift-security/SKILL.md +10 -8
- package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +8 -5
- package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +13 -9
- package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +7 -6
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +8 -5
- package/pipeline/skills/shared/external/swift-testing/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +3 -2
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +5 -3
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +17 -9
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +4 -2
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +13 -6
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +8 -5
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +15 -7
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +8 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: widgetkit
|
|
3
|
-
description: "WidgetKit
|
|
3
|
+
description: "WidgetKit surfaces on iOS 26+: timeline-driven widgets for the Home Screen, the Lock Screen and StandBy, interactive widgets using Button or Toggle with AppIntent actions, widget views for a Live Activity (Dynamic Island compact, expanded, minimal), Control Center controls with ControlWidgetButton or ControlWidgetToggle, families, deep links, the refresh budget, push reloads, accented rendering, extension setup, App Groups. Use when implementing or reviewing widgets, Live Activity views or controls. Not for Live Activity lifecycle or pushes (live-activities)."
|
|
4
4
|
metadata:
|
|
5
5
|
source: multi-agent-pipeline
|
|
6
6
|
---
|
|
@@ -13,7 +13,9 @@ surface WidgetKit and ActivityKit draw on: the Home Screen, the Lock Screen,
|
|
|
13
13
|
Live Activities and the Dynamic Island, Control Center and StandBy.
|
|
14
14
|
|
|
15
15
|
Related skills: `app-intents` for intent and entity design beyond what a widget
|
|
16
|
-
needs, `live-activities` for
|
|
16
|
+
needs, `live-activities` for the Live Activity lifecycle (request, update, end),
|
|
17
|
+
push tokens and ActivityKit push contracts. This skill covers the widget views a
|
|
18
|
+
Live Activity renders.
|
|
17
19
|
|
|
18
20
|
Longer examples are in [the advanced reference](references/widgetkit-advanced.md).
|
|
19
21
|
|
|
@@ -300,14 +302,20 @@ on its side. Read `@Environment(\.widgetLocation)` to tell where you are drawn:
|
|
|
300
302
|
- Budget: roughly 40 to 70 refreshes a day, with entries 5 minutes apart or more.
|
|
301
303
|
For countdowns use `Text(timerInterval:countsDown:)` instead of one entry per tick.
|
|
302
304
|
|
|
303
|
-
## iOS
|
|
305
|
+
## iOS 18 Additions
|
|
304
306
|
|
|
305
307
|
- `WidgetAccentedRenderingMode` (`.accented`, `.accentedDesaturated`,
|
|
306
|
-
`.desaturated`, `.fullColor`)
|
|
308
|
+
`.desaturated`, `.fullColor`), applied with `.widgetAccentedRenderingMode(_:)`,
|
|
309
|
+
controls how images adapt to accented (tinted) rendering. Available from
|
|
310
|
+
iOS 18, macOS 15 and watchOS 11; on visionOS from 26.
|
|
311
|
+
- `ControlPushHandler.pushTokensDidChange(controls:)` gives a push token per
|
|
312
|
+
control; an APNs push to it reloads the control.
|
|
313
|
+
|
|
314
|
+
## iOS 26 Additions
|
|
315
|
+
|
|
307
316
|
- `WidgetPushHandler.pushTokenDidChange(_:widgets:)` gives you a token to send to
|
|
308
|
-
your server; an APNs push to it reloads the widget.
|
|
309
|
-
|
|
310
|
-
[Reloading timelines by push](references/widgetkit-advanced.md#reloading-timelines-by-push-ios-26-and-later).
|
|
317
|
+
your server; an APNs push to it reloads the widget. See
|
|
318
|
+
[Reloading timelines by push](references/widgetkit-advanced.md#reloading-timelines-by-push).
|
|
311
319
|
- `.systemSmall` widgets render in CarPlay from iOS 26. Keep them readable at a
|
|
312
320
|
glance so a driver is never pulled into detail.
|
|
313
321
|
|
|
@@ -6,7 +6,7 @@ heading says otherwise.
|
|
|
6
6
|
## Contents
|
|
7
7
|
|
|
8
8
|
- [Timeline Strategies](#timeline-strategies)
|
|
9
|
-
- [Reloading timelines by push
|
|
9
|
+
- [Reloading timelines by push](#reloading-timelines-by-push)
|
|
10
10
|
- [Deep Links and Widget URLs](#deep-links-and-widget-urls)
|
|
11
11
|
- [User-configurable widgets through App Intents](#user-configurable-widgets-through-app-intents)
|
|
12
12
|
- [Multiple Widget Support](#multiple-widget-support)
|
|
@@ -75,9 +75,10 @@ cost budget.
|
|
|
75
75
|
- A widget run from Xcode's debugger has no refresh limit, so budget problems
|
|
76
76
|
only show up outside the debugger.
|
|
77
77
|
|
|
78
|
-
## Reloading timelines by push
|
|
78
|
+
## Reloading timelines by push
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
From iOS 26, a `WidgetPushHandler` receives a token for APNs. Send it to your
|
|
81
|
+
server.
|
|
81
82
|
|
|
82
83
|
```swift
|
|
83
84
|
struct ScoreboardPushHandler: WidgetPushHandler {
|
|
@@ -99,8 +100,9 @@ func hexString(_ bytes: Data) -> String {
|
|
|
99
100
|
When the server sends an APNs push addressed to that token, the system calls
|
|
100
101
|
`getTimeline` or `timeline(for:in:)` again.
|
|
101
102
|
|
|
102
|
-
Controls have their own handler
|
|
103
|
-
`ControlInfo` values; each carries its token in an optional
|
|
103
|
+
Controls have their own handler, available from iOS 18, that receives every
|
|
104
|
+
control at once, as `ControlInfo` values; each carries its token in an optional
|
|
105
|
+
`pushInfo`:
|
|
104
106
|
|
|
105
107
|
```swift
|
|
106
108
|
struct GaragePushHandler: ControlPushHandler {
|
|
@@ -478,7 +480,7 @@ Task {
|
|
|
478
480
|
}
|
|
479
481
|
```
|
|
480
482
|
|
|
481
|
-
From iOS
|
|
483
|
+
From iOS 18 a broadcast channel works too: `pushType: .channel("ferry-route-12")`.
|
|
482
484
|
|
|
483
485
|
Update payload:
|
|
484
486
|
|