shortcutkit 2.0.0__tar.gz → 3.0.0__tar.gz

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.
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shortcutkit
3
- Version: 2.0.0
4
- Summary: Build, validate, and sign Apple Shortcuts files from Python. All 449 built-in actions and 1,318 Apple app actions, extracted from the Shortcuts engine.
3
+ Version: 3.0.0
4
+ Summary: Build, validate, and sign Apple Shortcuts files from Python. All 449 built-in actions and 1,265 Apple app actions, extracted from the Shortcuts engine.
5
5
  Author: frontboat
6
6
  License-Expression: MIT
7
7
  Project-URL: Homepage, https://github.com/frontboat/shortcutkit
@@ -51,9 +51,9 @@ are archived ([python-shortcuts](https://github.com/alexander-akhmetov/python-sh
51
51
  [Cherri](https://github.com/electrikmilk/cherri) is a separate language with its own compiler.
52
52
 
53
53
  - All 449 built-in actions as constants, so a typo is an `AttributeError`.
54
- - 1,318 actions from Apple's apps: Reminders, Notes, Messages, Settings, and 70 more. Only
54
+ - 1,265 actions from Apple's apps: Reminders, Notes, Messages, Settings, and 70 more. Only
55
55
  actions the Shortcuts editor offers: the Siri-only intents the app refuses to import are left out.
56
- - Third-party app actions, given their descriptor.
56
+ - Third-party app actions, named by app and intent.
57
57
  - Checked conditions for 150 Find actions, the 14 built-in ones (Filter Files, Find Photos, Find
58
58
  Contacts, ...) and 136 in Apple's apps (Find Messages, Find Notes, ...), from the engine's own
59
59
  rules, and the properties of what they find.
@@ -114,20 +114,33 @@ found = s.action(actions.MESSAGES_FIND_MESSAGE,
114
114
  s.action(actions.SHOWRESULT, Text=text(property_(found, "body")))
115
115
  ```
116
116
 
117
+ ### Dictionaries and types
118
+
119
+ A dictionary parameter takes a plain dict: strings, `text()` and references are text items, and
120
+ numbers, booleans, lists and nested dicts keep their type, as the editor's item type menu sets it.
121
+ `coerce()` reads a value as one content type, as the variable "Type" menu does.
122
+
123
+ ```python
124
+ from shortcutkit import coerce
125
+
126
+ d = s.action(actions.DICTIONARY, WFItems={"name": ref(name), "greeted": True, "tags": ["a", "b"]})
127
+ gid = s.if_(coerce(d, "WFStringContentItem"), "contains", "a")
128
+ s.end_if(gid)
129
+ ```
130
+
117
131
  ### Other apps
118
132
 
119
- Pass the identifier and descriptor yourself; the parameters are not checked.
133
+ Name the app and the intent: the identifier is the bundle identifier followed by the intent name, as
134
+ the catalogue identifies an app's own intents, and the descriptor is written as the catalogue's are.
135
+ The parameters are not checked: their keys are the intent's parameter names, from
136
+ `Metadata.appintents/extract.actionsdata` in the app bundle.
120
137
 
121
138
  ```python
122
- s.action(
123
- "com.example.app.CreateNoteIntent",
124
- AppIntentDescriptor={
125
- "BundleIdentifier": "com.example.app", "Name": "Example", "TeamIdentifier": "ABCDE12345",
126
- "AppIntentIdentifier": "CreateNoteIntent", "ActionRequiresAppInstallation": True,
127
- },
128
- title=text("Hello"),
129
- body=ref(name),
130
- )
139
+ from shortcutkit import app_intent
140
+
141
+ app = {"BundleIdentifier": "com.example.app", "Name": "Example", "TeamIdentifier": "ABCDE12345"}
142
+ note = s.action(app_intent(app, "CreateNoteIntent", "Note"), title=text("Hello"), body=ref(name))
143
+ s.action(actions.SHOWRESULT, Text=ref(note))
131
144
  ```
132
145
 
133
146
  ## API
@@ -149,7 +162,10 @@ s.action(
149
162
  | `shortcut_input()`, `clipboard()`, `current_date()`, `ask()`, `device_details()`, `current_app()` | Special variables. |
150
163
  | `where(*rows)`, `where_any(*rows)` | Conditions for a Find action's `WFContentItemFilter`. |
151
164
  | `property_(source, name)` | One property of an action's output or a variable. |
152
- | `FILTERS`, `ENTITY_PROPERTIES`, `FILTER_OPERATORS`, `CALENDAR_UNITS` | What each Find action can filter on, and each entity type's properties. |
165
+ | `coerce(source, class)` | A value read as one content type (`CONTENT_ITEM_CLASSES`). |
166
+ | `dictionary(items)` | A dictionary parameter's items; `action()` encodes a plain dict itself. |
167
+ | `app_intent(app, intent, output=None)` | Another app's action, for `s.action()`. |
168
+ | `FILTERS`, `ENTITY_PROPERTIES`, `FILTER_OPERATORS`, `CALENDAR_UNITS`, `CONTENT_ITEM_CLASSES` | What each Find action can filter on, each entity type's properties, and the content types a coercion can name. |
153
169
  | `actions`, `ACTIONS`, `get_action(id)` | Action identifiers and their catalog entries. |
154
170
  | `PARAM_KINDS`, `PARAM_CHOICES`, `PARAM_VARIABLE_TYPES` | What each parameter accepts. |
155
171
  | `CONDITION`, `ICON_COLORS`, `PROVENANCE` | If conditions, icon colors, and the build the data came from. |
@@ -30,9 +30,9 @@ are archived ([python-shortcuts](https://github.com/alexander-akhmetov/python-sh
30
30
  [Cherri](https://github.com/electrikmilk/cherri) is a separate language with its own compiler.
31
31
 
32
32
  - All 449 built-in actions as constants, so a typo is an `AttributeError`.
33
- - 1,318 actions from Apple's apps: Reminders, Notes, Messages, Settings, and 70 more. Only
33
+ - 1,265 actions from Apple's apps: Reminders, Notes, Messages, Settings, and 70 more. Only
34
34
  actions the Shortcuts editor offers: the Siri-only intents the app refuses to import are left out.
35
- - Third-party app actions, given their descriptor.
35
+ - Third-party app actions, named by app and intent.
36
36
  - Checked conditions for 150 Find actions, the 14 built-in ones (Filter Files, Find Photos, Find
37
37
  Contacts, ...) and 136 in Apple's apps (Find Messages, Find Notes, ...), from the engine's own
38
38
  rules, and the properties of what they find.
@@ -93,20 +93,33 @@ found = s.action(actions.MESSAGES_FIND_MESSAGE,
93
93
  s.action(actions.SHOWRESULT, Text=text(property_(found, "body")))
94
94
  ```
95
95
 
96
+ ### Dictionaries and types
97
+
98
+ A dictionary parameter takes a plain dict: strings, `text()` and references are text items, and
99
+ numbers, booleans, lists and nested dicts keep their type, as the editor's item type menu sets it.
100
+ `coerce()` reads a value as one content type, as the variable "Type" menu does.
101
+
102
+ ```python
103
+ from shortcutkit import coerce
104
+
105
+ d = s.action(actions.DICTIONARY, WFItems={"name": ref(name), "greeted": True, "tags": ["a", "b"]})
106
+ gid = s.if_(coerce(d, "WFStringContentItem"), "contains", "a")
107
+ s.end_if(gid)
108
+ ```
109
+
96
110
  ### Other apps
97
111
 
98
- Pass the identifier and descriptor yourself; the parameters are not checked.
112
+ Name the app and the intent: the identifier is the bundle identifier followed by the intent name, as
113
+ the catalogue identifies an app's own intents, and the descriptor is written as the catalogue's are.
114
+ The parameters are not checked: their keys are the intent's parameter names, from
115
+ `Metadata.appintents/extract.actionsdata` in the app bundle.
99
116
 
100
117
  ```python
101
- s.action(
102
- "com.example.app.CreateNoteIntent",
103
- AppIntentDescriptor={
104
- "BundleIdentifier": "com.example.app", "Name": "Example", "TeamIdentifier": "ABCDE12345",
105
- "AppIntentIdentifier": "CreateNoteIntent", "ActionRequiresAppInstallation": True,
106
- },
107
- title=text("Hello"),
108
- body=ref(name),
109
- )
118
+ from shortcutkit import app_intent
119
+
120
+ app = {"BundleIdentifier": "com.example.app", "Name": "Example", "TeamIdentifier": "ABCDE12345"}
121
+ note = s.action(app_intent(app, "CreateNoteIntent", "Note"), title=text("Hello"), body=ref(name))
122
+ s.action(actions.SHOWRESULT, Text=ref(note))
110
123
  ```
111
124
 
112
125
  ## API
@@ -128,7 +141,10 @@ s.action(
128
141
  | `shortcut_input()`, `clipboard()`, `current_date()`, `ask()`, `device_details()`, `current_app()` | Special variables. |
129
142
  | `where(*rows)`, `where_any(*rows)` | Conditions for a Find action's `WFContentItemFilter`. |
130
143
  | `property_(source, name)` | One property of an action's output or a variable. |
131
- | `FILTERS`, `ENTITY_PROPERTIES`, `FILTER_OPERATORS`, `CALENDAR_UNITS` | What each Find action can filter on, and each entity type's properties. |
144
+ | `coerce(source, class)` | A value read as one content type (`CONTENT_ITEM_CLASSES`). |
145
+ | `dictionary(items)` | A dictionary parameter's items; `action()` encodes a plain dict itself. |
146
+ | `app_intent(app, intent, output=None)` | Another app's action, for `s.action()`. |
147
+ | `FILTERS`, `ENTITY_PROPERTIES`, `FILTER_OPERATORS`, `CALENDAR_UNITS`, `CONTENT_ITEM_CLASSES` | What each Find action can filter on, each entity type's properties, and the content types a coercion can name. |
132
148
  | `actions`, `ACTIONS`, `get_action(id)` | Action identifiers and their catalog entries. |
133
149
  | `PARAM_KINDS`, `PARAM_CHOICES`, `PARAM_VARIABLE_TYPES` | What each parameter accepts. |
134
150
  | `CONDITION`, `ICON_COLORS`, `PROVENANCE` | If conditions, icon colors, and the build the data came from. |
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "shortcutkit"
7
- version = "2.0.0"
8
- description = "Build, validate, and sign Apple Shortcuts files from Python. All 449 built-in actions and 1,318 Apple app actions, extracted from the Shortcuts engine."
7
+ version = "3.0.0"
8
+ description = "Build, validate, and sign Apple Shortcuts files from Python. All 449 built-in actions and 1,265 Apple app actions, extracted from the Shortcuts engine."
9
9
  requires-python = ">=3.9"
10
10
  readme = "README.md"
11
11
  license = "MIT"
@@ -27,6 +27,9 @@ Value helpers return the exact structures WorkflowKit's state classes serialize:
27
27
  text("a ", ref(x)) WFTextTokenString -> text with embedded references
28
28
  subject(att) {"Type": "Variable", "Variable": att} (the If condition's subject; pickers take the bare attachment)
29
29
  property_(x, "body") a reference to one property of x (a WFPropertyVariableAggrandizement)
30
+ coerce(x, "WFStringContentItem") x read as one content type (a WFCoercionVariableAggrandizement; CONTENT_ITEM_CLASSES)
31
+ dictionary({...}) WFDictionaryFieldValue -> a dictionary parameter's items, typed as the editor types them
32
+ app_intent(app, "CreateNoteIntent") another app's action, for action(): its identifier and descriptor
30
33
  where(row, ...) Find conditions, encoded by action() for the Find action's entity
31
34
  Plain str / int / float / bool / list / datetime are written as-is.
32
35
  """
@@ -196,8 +199,81 @@ def property_(source, name):
196
199
  if entities and name not in known:
197
200
  raise ValueError(f"{' / '.join(entities)} has no property {name}; it has {', '.join(sorted(known))}")
198
201
  source = ref(source)
202
+ return _aggrandize(source, {"Type": "WFPropertyVariableAggrandizement", "PropertyName": name})
203
+
204
+
205
+ def _aggrandize(source, aggrandizement):
206
+ """`source` with one more aggrandizement; an action stands for its output."""
207
+ if not _is_reference(source):
208
+ source = ref(source)
199
209
  prior = source["Value"].get("Aggrandizements")
200
- return _attachment({**source["Value"], "Aggrandizements": [*(prior if isinstance(prior, list) else []), {"Type": "WFPropertyVariableAggrandizement", "PropertyName": name}]})
210
+ return _attachment({**source["Value"], "Aggrandizements": [*(prior if isinstance(prior, list) else []), aggrandizement]})
211
+
212
+
213
+ def coerce(source, to):
214
+ """`source` read as one content type, as the editor's variable "Type" menu writes it (a
215
+ WFCoercionVariableAggrandizement): coerce(ref(json), "WFDictionaryContentItem"), coerce(repeat_item(), "WFStringContentItem").
216
+ The classes are the engine's own list (CONTENT_ITEM_CLASSES, each with the name the editor shows). An If whose
217
+ subject's type the engine cannot tell (a dictionary value, a repeat item) needs one: without it "is" has nothing
218
+ to compare against and the run fails (a downstream user's observation; docs/extraction.md, run-time observations)."""
219
+ if to not in CONTENT_ITEM_CLASSES:
220
+ raise ValueError(f"no content item class {to}; the engine coerces to {', '.join(CONTENT_ITEM_CLASSES)}")
221
+ return _aggrandize(source, {"Type": "WFCoercionVariableAggrandizement", "CoercionItemClass": to})
222
+
223
+
224
+ def dictionary(items):
225
+ """A dictionary parameter: Dictionary's items, Get Contents of URL's headers, form and JSON bodies. Strings,
226
+ text() and references are text items; numbers, booleans, lists and nested dicts keep their type, as the editor's
227
+ item type menu sets it: dictionary({"apikey": variable("Key"), "count": 5, "nested": {"ok": True}, "tags": ["a", "b"]}).
228
+ action() encodes a plain dict given for a dictionary key itself, so the call is needed only where the key is untyped."""
229
+ return {"WFSerializationType": "WFDictionaryFieldValue",
230
+ "Value": {"WFDictionaryFieldValueItems": [{"WFKey": text(k), **_dictionary_item(v)} for k, v in items.items()]}}
231
+
232
+
233
+ def _is_dictionary_items(v):
234
+ """A plain dict of items for a dictionary parameter (not an encoded value)."""
235
+ return isinstance(v, dict) and "WFSerializationType" not in v and not (v.get("Type") == "Variable" and "Variable" in v)
236
+
237
+
238
+ def _dictionary_item(v):
239
+ """One item's type code and value, as the dictionary state class writes them back (docs/shortcut-file-format.md §3)."""
240
+ if isinstance(v, str):
241
+ return {"WFItemType": 0, "WFValue": text(v)}
242
+ if isinstance(v, dict) and v.get("WFSerializationType") == "WFTextTokenString":
243
+ return {"WFItemType": 0, "WFValue": v}
244
+ if isinstance(v, dict) and v.get("WFSerializationType") == "WFTextTokenAttachment":
245
+ return {"WFItemType": 0, "WFValue": text(v)}
246
+ if isinstance(v, bool):
247
+ return {"WFItemType": 4, "WFValue": {"WFSerializationType": "WFNumberSubstitutableState", "Value": v}}
248
+ if isinstance(v, (int, float)):
249
+ return {"WFItemType": 3, "WFValue": text(_number_text(v))}
250
+ # Array items carry no key; plain text is the bare string, as the engine writes it back.
251
+ if isinstance(v, (list, tuple)):
252
+ return {"WFItemType": 2, "WFValue": {"WFSerializationType": "WFArrayParameterState", "Value": [x if isinstance(x, str) else _dictionary_item(x) for x in v]}}
253
+ # A nested dictionary is wrapped once more than the outer one (the engine serializes it so, and reads the unwrapped form into that).
254
+ if isinstance(v, dict) and v.get("WFSerializationType") == "WFDictionaryFieldValue":
255
+ return {"WFItemType": 1, "WFValue": {"WFSerializationType": "WFDictionaryFieldValue", "Value": v}}
256
+ if _is_dictionary_items(v):
257
+ return {"WFItemType": 1, "WFValue": {"WFSerializationType": "WFDictionaryFieldValue", "Value": dictionary(v)}}
258
+ raise ValueError(f"dictionary(): a value must be a str, text(), a reference, a number, a bool, a list or a dict, got {v!r}")
259
+
260
+
261
+ def _number_text(n):
262
+ """A number as JavaScript's String() writes it, so both packages write the same item (5, not 5.0)."""
263
+ if isinstance(n, float) and n.is_integer():
264
+ return str(int(n))
265
+ return repr(n) if isinstance(n, float) else str(n)
266
+
267
+
268
+ def app_intent(app, intent, output=None):
269
+ """Name an App Intents action of an app the catalogue does not cover, for action():
270
+ s.action(app_intent(app, "CreateNoteIntent", "Note"), title=text("Hi")). `app` holds BundleIdentifier, Name and
271
+ TeamIdentifier (the bundle's Info.plist and `codesign -dv`); the identifier is the bundle identifier followed by the
272
+ intent's name, as the catalogue identifies an app's own intents, and the descriptor is written as the catalogue's are
273
+ (an intent hosted in a framework or extension has another identifier, which action() still takes by hand with an
274
+ AppIntentDescriptor). `output` names the result for ref() ("Output" when left out). The parameters are not checked: their keys are the intent's parameter names, as
275
+ Metadata.appintents/extract.actionsdata in the app bundle lists them."""
276
+ return {"identifier": f"{app['BundleIdentifier']}.{intent}", "descriptor": {**app, "AppIntentIdentifier": intent}, "output": output}
201
277
 
202
278
 
203
279
  def where(*rows):
@@ -322,7 +398,6 @@ def _utc(d):
322
398
 
323
399
  def picker(attachment):
324
400
  """Deprecated, misnamed: this is the If-subject form. Pass a bare reference to picker parameters."""
325
- """Wrap an attachment for WFVariablePickerParameter keys (e.g. WFInput on Repeat with Each)."""
326
401
  return {"Type": "Variable", "Variable": attachment}
327
402
 
328
403
 
@@ -360,14 +435,17 @@ class Shortcut:
360
435
  def action(self, identifier, /, **params):
361
436
  """Append an action and return it; ref() it to use its output. Catalog identifiers are
362
437
  checked: unknown keys, wrong value kinds, and unreadable references raise ValueError. Other
363
- identifiers pass through unchecked. `identifier` is positional-only, so a parameter can
364
- have that name."""
438
+ identifiers pass through unchecked; app_intent() names another app's action with its descriptor.
439
+ `identifier` is positional-only, so a parameter can have that name."""
440
+ intent = identifier if isinstance(identifier, dict) else None
441
+ if intent:
442
+ identifier = intent["identifier"]
365
443
  definition = self.defs.get(identifier)
366
444
  catalog = ACTIONS.get(identifier) or {}
367
- descriptor = catalog.get("descriptor")
445
+ descriptor = catalog.get("descriptor") or (intent or {}).get("descriptor")
368
446
  if self.defs and definition is None and not catalog and identifier.startswith("is.workflow."):
369
447
  raise ValueError(f"unknown built-in action {identifier}")
370
- if definition or descriptor:
448
+ if definition or catalog.get("descriptor"):
371
449
  known = {p.get("Key") for p in (definition or {}).get("Parameters", []) if isinstance(p, dict)}
372
450
  known |= {"UUID", "GroupingIdentifier", "WFControlFlowMode", "CustomOutputName"}
373
451
  known |= LEGACY_KEYS.get(identifier, set())
@@ -383,7 +461,9 @@ class Shortcut:
383
461
  kinds = PARAM_KINDS.get(identifier, {})
384
462
  restricted = PARAM_VARIABLE_TYPES.get(identifier, {})
385
463
  for key, value in params.items():
386
- if _is_where(value) and kinds.get(key) != "filter":
464
+ # where() rows belong to a Find action's filter key; an untyped action (another app's Find) is refused by
465
+ # _encode_filter(), which names the missing FILTERS entry.
466
+ if _is_where(value) and key in kinds and kinds[key] != "filter":
387
467
  raise ValueError(f"{identifier}.{key}: where() rows go only in a Find action's WFContentItemFilter")
388
468
  problem = _check_kind(kinds.get(key, "any"), value)
389
469
  if problem:
@@ -397,6 +477,7 @@ class Shortcut:
397
477
  # token string with one placeholder. Wrap it so ref() works for text keys too.
398
478
  params = {k: (text(v) if kinds.get(k) == "text" and _is_reference(v) and v.get("WFSerializationType") == "WFTextTokenAttachment"
399
479
  else subject(v) if kinds.get(k) == "subject" and _is_reference(v) and v.get("WFSerializationType") == "WFTextTokenAttachment"
480
+ else dictionary(v) if kinds.get(k) == "dictionary" and _is_dictionary_items(v)
400
481
  else _encode_filter(identifier, v) if _is_where(v) else v)
401
482
  for k, v in params.items()}
402
483
  # App Intents actions carry a descriptor naming the app that provides them.
@@ -406,7 +487,7 @@ class Shortcut:
406
487
  entry = {"WFWorkflowActionIdentifier": identifier,
407
488
  "WFWorkflowActionParameters": {**head, **params}}
408
489
  output = (definition or {}).get("Output", {})
409
- entry["_outputName"] = (output.get("OutputName") if isinstance(output, dict) else None) or catalog.get("output")
490
+ entry["_outputName"] = (output.get("OutputName") if isinstance(output, dict) else None) or catalog.get("output") or (intent or {}).get("output")
410
491
  entry["_outputTypes"] = list(catalog.get("outputTypes") or (output.get("Types") if isinstance(output, dict) else []) or [])
411
492
  if isinstance(entry["_outputName"], dict):
412
493
  entry["_outputName"] = entry["_outputName"].get("format")
@@ -551,12 +632,12 @@ def demo(out):
551
632
 
552
633
  from . import actions # noqa: E402 (generated identifier constants and ACTIONS metadata)
553
634
  from .actions import ACTIONS, PARAM_KINDS, PARAM_CHOICES, PARAM_VARIABLE_TYPES # noqa: E402
554
- from .entities import FILTERS, FILTER_OPERATORS, CALENDAR_UNITS, BYTE_COUNT_UNITS, BOUNDED_FILTERS, ENTITY_PROPERTIES # noqa: E402 (generated Find filters and entity properties)
635
+ from .entities import FILTERS, FILTER_OPERATORS, CALENDAR_UNITS, BYTE_COUNT_UNITS, BOUNDED_FILTERS, ENTITY_PROPERTIES, CONTENT_ITEM_CLASSES # noqa: E402 (generated Find filters, entity properties and content item classes)
555
636
 
556
637
  PROVENANCE = json.load(open(HERE / "data" / "provenance.json")) if (HERE / "data" / "provenance.json").exists() else {}
557
638
  """Which macOS and Shortcuts build the bundled data was extracted from."""
558
639
 
559
640
  __all__ = ["actions", "ACTIONS", "PARAM_KINDS", "PARAM_CHOICES", "PARAM_VARIABLE_TYPES", "PROVENANCE", "get_action", "repeat_item", "repeat_index", "subject", "Shortcut", "ref", "variable", "shortcut_input", "clipboard", "current_date", "ask", "device_details", "current_app", "picker", "text",
560
- "property_", "where", "where_any", "FILTERS", "FILTER_OPERATORS", "CALENDAR_UNITS", "BYTE_COUNT_UNITS", "BOUNDED_FILTERS", "ENTITY_PROPERTIES",
641
+ "property_", "coerce", "dictionary", "app_intent", "where", "where_any", "FILTERS", "FILTER_OPERATORS", "CALENDAR_UNITS", "BYTE_COUNT_UNITS", "BOUNDED_FILTERS", "ENTITY_PROPERTIES", "CONTENT_ITEM_CLASSES",
561
642
  "ICON_COLORS", "CONDITION", "DEFAULT_GLYPH", "LEGACY_KEYS", "demo"]
562
- __version__ = "2.0.0"
643
+ __version__ = "3.0.0"
@@ -1063,9 +1063,6 @@ COM_APPLE_I_WORK_NUMBERS_EXPORT_SPREADSHEET_IN_BACKGROUND = "com.apple.iWork.Num
1063
1063
  COM_APPLE_I_WORK_NUMBERS_CREATE_NEW_SPREADSHEET = "com.apple.iWork.Numbers.TNNewDocumentIntent" # Create New Spreadsheet
1064
1064
  COM_APPLE_I_WORK_PAGES_EXPORT_DOCUMENT_IN_BACKGROUND = "com.apple.iWork.Pages.TPDocumentBackgroundExportIntent" # Export Document in Background
1065
1065
  COM_APPLE_I_WORK_PAGES_CREATE_NEW_DOCUMENT = "com.apple.iWork.Pages.TPNewDocumentIntent" # Create New Document
1066
- COM_APPLE_INTELLIGENCEFLOW_GEOFLOWTOOLS_GEOFLOWTOOLS_STARTNAVIGATIONFLOWTOOL_COM_APPLE_MAPS = "com.apple.intelligenceflow.GeoFlowTools.GeoFlowTools.StartNavigationFlowTool|com.apple.Maps" # Start Navigation
1067
- COM_APPLE_INTELLIGENCEFLOW_GEOFLOWTOOLS_GEOFLOWTOOLS_UPDATEWAYPOINTSFLOWTOOL_COM_APPLE_MAPS = "com.apple.intelligenceflow.GeoFlowTools.GeoFlowTools.UpdateWayPointsFlowTool|com.apple.Maps" # Update Navigation Waypoints
1068
- COM_APPLE_INTELLIGENCEFLOW_GETCURRENTLOCATIONFLOWTOOLPLUGIN_GETCURRENTLOCATIONFLOWTOOLPLUGIN_GETCURRENTLOCATIONTOOL = "com.apple.intelligenceflow.GetCurrentLocationFlowToolPlugin.GetCurrentLocationFlowToolPlugin.GetCurrentLocationTool" # GetCurrentLocationTool
1069
1066
  COM_APPLE_INTELLIGENCEFLOW_INTELLIGENCE_FLOW_APP_INTENTS_EXTENSION_OPEN_APPLICATION = "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenApplication" # Open Application
1070
1067
  COM_APPLE_INTELLIGENCEFLOW_INTELLIGENCE_FLOW_APP_INTENTS_EXTENSION_OPEN_FILE = "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenFile" # Open File
1071
1068
  COM_APPLE_INTELLIGENCEFLOW_INTELLIGENCE_FLOW_APP_INTENTS_EXTENSION_OPEN_URL = "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenURL" # Open URL
@@ -1233,72 +1230,22 @@ COM_APPLE_SIRI_AUDIO_APP_INTENTS_EXTENSION_ADD_AUDIO_ITEM_TO_LIBRARY = "com.appl
1233
1230
  COM_APPLE_SIRI_AUDIO_APP_INTENTS_EXTENSION_ADD_AUDIO_ITEM_TO_PLAYLIST = "com.apple.siri.AudioAppIntentsExtension.SiriKitAddAudioToPlaylistIntent" # Add Audio Item to Playlist
1234
1231
  COM_APPLE_SIRI_AUDIO_APP_INTENTS_EXTENSION_LIKE_AUDIO_ITEM = "com.apple.siri.AudioAppIntentsExtension.SiriKitUpdateAudioAffinityIntent" # Like Audio Item
1235
1232
  COM_APPLE_SIRI_AUDIO_APP_INTENTS_EXTENSION_WHOLE_HOUSE_AUDIO_PLACEHOLDER_INTENT = "com.apple.siri.AudioAppIntentsExtension.WholeHouseAudioPlaceholderIntent" # Whole House Audio Placeholder Intent
1236
- COM_APPLE_SIRI_PHOTOSFLOWTOOLS_SIRIPHOTOSFLOWTOOLS_EDITPHOTOWARMTH_COM_APPLE_PHOTOS = "com.apple.siri.PhotosFlowTools.SiriPhotosFlowTools.EditPhotoWarmth|com.apple.Photos" # EditPhotoWarmth
1237
- COM_APPLE_SIRI_SIRIAUDIOTOOLS_SIRIAUDIOTOOLS_ADDAUDIOTOLIBRARYTOOL_COM_APPLE_MUSIC = "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToLibraryTool|com.apple.Music" # AddAudioToLibrary
1238
- COM_APPLE_SIRI_SIRIAUDIOTOOLS_SIRIAUDIOTOOLS_ADDAUDIOTOLIBRARYTOOL_COM_APPLE_PODCASTS = "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToLibraryTool|com.apple.podcasts" # AddAudioToLibrary
1239
- COM_APPLE_SIRI_SIRIAUDIOTOOLS_SIRIAUDIOTOOLS_ADDAUDIOTOPLAYLISTTOOL_COM_APPLE_MUSIC = "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToPlaylistTool|com.apple.Music" # AddAudioToPlaylist
1240
- COM_APPLE_SIRI_SIRIAUDIOTOOLS_SIRIAUDIOTOOLS_PLAYAUDIOTOOL_COM_APPLE_MUSIC = "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.Music" # PlayAudio
1241
- COM_APPLE_SIRI_SIRIAUDIOTOOLS_SIRIAUDIOTOOLS_PLAYAUDIOTOOL_COM_APPLE_IBOOKSX = "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.iBooksX" # PlayAudio
1242
- COM_APPLE_SIRI_SIRIAUDIOTOOLS_SIRIAUDIOTOOLS_PLAYAUDIOTOOL_COM_APPLE_PODCASTS = "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.podcasts" # PlayAudio
1243
- COM_APPLE_SIRI_SIRIAUDIOTOOLS_SIRIAUDIOTOOLS_UPDATEAUDIOAFFINITYTOOL_COM_APPLE_MUSIC = "com.apple.siri.SiriAudioTools.SiriAudioTools.UpdateAudioAffinityTool|com.apple.Music" # UpdateAudioAffinity
1244
- COM_APPLE_SIRI_SIRICRISISFLOWTOOLS_SIRICRISISFLOWTOOLS_GETCRISISRESOURCESFLOWTOOL = "com.apple.siri.SiriCrisisFlowTools.SiriCrisisFlowTools.GetCrisisResourcesFlowTool" # Get Crisis Resources
1245
1233
  COM_APPLE_SIRI_SIRI_GEO_SIRI_GEO_APP_INTENT_EXTENSION_GET_CURRENT_LOCATION = "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.CurrentLocationEntity" # Get Current Location
1246
1234
  COM_APPLE_SIRI_SIRI_GEO_SIRI_GEO_APP_INTENT_EXTENSION_GET_CURRENT_ROUTE = "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.NavigationSessionEntity" # Get Current Route
1247
1235
  COM_APPLE_SIRI_SIRI_GEO_SIRI_GEO_APP_INTENT_EXTENSION_SIRI_GEO_APP_INTENT = "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.SiriGeoAppIntent" # SiriGeoAppIntent
1248
1236
  COM_APPLE_SIRI_SIRI_GEO_SIRI_GEO_APP_INTENT_EXTENSION_START_NAVIGATION_FOR_THIRD_PARTY_APPS = "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.ThirdPartyStartNavigationIntent" # Start Navigation for Third Party Apps
1249
- COM_APPLE_SIRI_SIRIIDENTITYINTERNAL_SIRIIDENTITYINTERNAL_WHOAMITOOL = "com.apple.siri.SiriIdentityInternal.SiriIdentityInternal.WhoAmITool" # WhoAmITool
1250
- COM_APPLE_SIRI_SIRIMAILFLOWTOOLS_SIRIMAILFLOWTOOLS_CREATEDRAFTMAILTOOL_COM_APPLE_MAIL = "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.CreateDraftMailTool|com.apple.mail" # CreateDraftMailTool
1251
- COM_APPLE_SIRI_SIRIMAILFLOWTOOLS_SIRIMAILFLOWTOOLS_FORWARDDRAFTMAILTOOL_COM_APPLE_MAIL = "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.ForwardDraftMailTool|com.apple.mail" # ForwardDraftMailTool
1252
- COM_APPLE_SIRI_SIRIMAILFLOWTOOLS_SIRIMAILFLOWTOOLS_REPLYDRAFTMAILTOOL_COM_APPLE_MAIL = "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.ReplyDraftMailTool|com.apple.mail" # ReplyDraftMailTool
1253
- COM_APPLE_SIRI_SIRIMAILFLOWTOOLS_SIRIMAILFLOWTOOLS_SENDDRAFTMAILTOOL_COM_APPLE_MAIL = "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.SendDraftMailTool|com.apple.mail" # SendDraftMailTool
1254
- COM_APPLE_SIRI_SIRIMAILFLOWTOOLS_SIRIMAILFLOWTOOLS_UPDATEDRAFTMAILTOOL_COM_APPLE_MAIL = "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.UpdateDraftMailTool|com.apple.mail" # UpdateDraftMailTool
1255
1237
  COM_APPLE_SIRI_SIRI_NOTIFICATIONS_APP_INTENTS_EXTENSION_PREPARE_NOTIFICATIONS = "com.apple.siri.SiriNotificationsAppIntentsExtension.PrepareNotificationsIntent" # Prepare notifications
1256
1238
  COM_APPLE_SIRI_SIRI_NOTIFICATIONS_APP_INTENTS_EXTENSION_SIRI_NOTIFICATIONS_APP_INTENTS_EXTENSION = "com.apple.siri.SiriNotificationsAppIntentsExtension.SiriNotificationsAppIntentsExtension" # SiriNotificationsAppIntentsExtension
1257
- COM_APPLE_SIRI_SIRINOTIFICATIONSFLOWTOOLS_SIRINOTIFICATIONSFLOWTOOLS_PREPARENOTIFICATIONSTOOL = "com.apple.siri.SiriNotificationsFlowTools.SiriNotificationsFlowTools.PrepareNotificationsTool" # Prepare Notifications
1258
1239
  PHONE_SIRIPHONE_PUNCHOUT_INTENT = "com.apple.siri.SiriPhoneAppIntentsExtension.SiriPhonePunchoutIntent" # SiriPhonePunchoutIntent
1259
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_ANSWERCALLFLOWTOOL_COM_APPLE_CALLS_PHONEAPPINTENTSEXTENSION = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.AnswerCallFlowTool|com.apple.calls.PhoneAppIntentsExtension" # Answer an incoming call
1260
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_CALLEMERGENCYCONTACTFLOWTOOL = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.CallEmergencyContactFlowTool" # Call Emergency Contact Flow Tool
1261
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_CALLBACKFLOWTOOL = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.CallbackFlowTool" # Callback Flow Tool
1262
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_PREPARECALLMESSAGESFLOWTOOL = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.PrepareCallMessagesFlowTool" # Prepare Call Messages Flow Tool
1263
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_PREPAREREADCALLRECORDSFLOWTOOL = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.PrepareReadCallRecordsFlowTool" # Prepare Read Call Records
1264
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_READCALLMESSAGEFLOWTOOL = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.ReadCallMessageFlowTool" # Read Call Message Flow Tool
1265
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_REDIALFLOWTOOL = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.RedialFlowTool" # Redial Flow Tool
1266
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_STARTCALLFLOWTOOL_COM_APPLE_FACETIME = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCallFlowTool|com.apple.FaceTime" # Start a call
1267
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_STARTCALLFLOWTOOL_COM_APPLE_MOBILEPHONE = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCallFlowTool|com.apple.mobilephone" # Start a call
1268
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_STARTCRISISHELPLINECALLFLOWTOOL = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCrisisHelplineCallFlowTool" # Start Crisis Helpline Call Flow Tool
1269
- COM_APPLE_SIRI_SIRIPHONEFLOWTOOLS_SIRIPHONEFLOWTOOLS_STARTEMERGENCYCALLFLOWTOOL_COM_APPLE_CALLS_PHONEAPPINTENTSEXTENSION = "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartEmergencyCallFlowTool|com.apple.calls.PhoneAppIntentsExtension" # Start Emergency Call
1270
1240
  COM_APPLE_SIRI_SIRI_PHOTOS_APP_INTENTS_EXTENSION_SIRI_PHOTOS_APP_INTENTS_EXTENSION = "com.apple.siri.SiriPhotosAppIntentsExtension.SiriPhotosAppIntentsExtension" # SiriPhotosAppIntentsExtension
1271
1241
  COM_APPLE_SIRI_SIRI_PHOTOS_APP_INTENTS_EXTENSION_UPDATE_PHOTO_WARMTH = "com.apple.siri.SiriPhotosAppIntentsExtension.UpdatePhotoWarmthTool" # Update Photo Warmth
1272
- COM_APPLE_SIRI_SIRITIMEFLOWTOOLS_SIRITIMEFLOWTOOLS_CANCELTIMERFLOWTOOL_COM_APPLE_CLOCK = "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.CancelTimerFlowTool|com.apple.clock" # CancelTimer
1273
- COM_APPLE_SIRI_SIRITIMEFLOWTOOLS_SIRITIMEFLOWTOOLS_DISMISSALARMFLOWTOOL_COM_APPLE_CLOCK = "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.DismissAlarmFlowTool|com.apple.clock" # DismissAlarm
1274
- COM_APPLE_SIRI_SIRITIMEFLOWTOOLS_SIRITIMEFLOWTOOLS_SNOOZEALARMFLOWTOOL_COM_APPLE_CLOCK = "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.SnoozeAlarmFlowTool|com.apple.clock" # SnoozeAlarm
1275
- COM_APPLE_SIRI_SIRITRANSLATIONFLOWTOOLS_SIRITRANSLATIONFLOWTOOLS_TRANSLATETEXTFLOWTOOL = "com.apple.siri.SiriTranslationFlowTools.SiriTranslationFlowTools.TranslateTextFlowTool" # Translate Text
1276
1242
  COM_APPLE_SIRI_SIRI_VIDEO_APP_INTENTS_CROSS_DEVICE_PLACEHOLDER_INTENT = "com.apple.siri.SiriVideoAppIntents.CrossDevicePlaceholderIntent" # Cross Device Placeholder Intent
1277
1243
  COM_APPLE_SIRI_SIRI_VIDEO_APP_INTENTS_FINDS_A_FREEFORM_VIDEO = "com.apple.siri.SiriVideoAppIntents.InternalFindFreeformVideoIntent" # Finds a freeform video
1278
1244
  COM_APPLE_SIRI_SIRI_VIDEO_APP_INTENTS_FINDS_A_VIDEO = "com.apple.siri.SiriVideoAppIntents.InternalFindVideoIntent" # Finds a video
1279
1245
  COM_APPLE_SIRI_SIRI_VIDEO_APP_INTENTS_PLAYS_A_VIDEO = "com.apple.siri.SiriVideoAppIntents.InternalPlayContentIntent" # Plays a video
1280
- COM_APPLE_SIRI_SIRIVIDEOFLOWTOOLS_SIRIVIDEOFLOWTOOLS_FINDVIDEOCONTENTTOOL = "com.apple.siri.SiriVideoFlowTools.SiriVideoFlowTools.FindVideoContentTool" # Find Video content
1281
- COM_APPLE_SIRI_FINDMY_SIRIFINDMYFLOWTOOLS_SIRIFINDMYFLOWTOOLS_CREATEINCOMINGGEOFENCETOOL_COM_APPLE_FINDMY = "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.CreateIncomingGeofenceTool|com.apple.findmy" # Create Incoming Geofence
1282
- COM_APPLE_SIRI_FINDMY_SIRIFINDMYFLOWTOOLS_SIRIFINDMYFLOWTOOLS_CREATEOUTGOINGGEOFENCETOOL_COM_APPLE_FINDMY = "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.CreateOutgoingGeofenceTool|com.apple.findmy" # Create Outgoing Geofence
1283
- COM_APPLE_SIRI_FINDMY_SIRIFINDMYFLOWTOOLS_SIRIFINDMYFLOWTOOLS_FINDITEMLOCATIONTOOL_COM_APPLE_FINDMY = "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.FindItemLocationTool|com.apple.findmy" # Find Item Location
1284
- COM_APPLE_SIRI_FINDMY_SIRIFINDMYFLOWTOOLS_SIRIFINDMYFLOWTOOLS_PLAYITEMSOUNDTOOL_COM_APPLE_FINDMY = "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.PlayItemSoundTool|com.apple.findmy" # Play Item Sound
1285
1246
  COM_APPLE_SIRI_MESSAGES_SIRI_MESSAGES_APP_INTENTS_EXTENSION_MESSAGES_POST_READING_ACTION_TOOL = "com.apple.siri.messages.SiriMessagesAppIntentsExtension.MessagesPostReadActionAppIntent" # Messages Post Reading Action Tool
1286
1247
  COM_APPLE_SIRI_MESSAGES_SIRI_MESSAGES_APP_INTENTS_EXTENSION_PREPARE_TO_READ_CONVERSATION_TOOL = "com.apple.siri.messages.SiriMessagesAppIntentsExtension.PrepareToReadConversationAppIntent" # Prepare To Read Conversation Tool
1287
1248
  COM_APPLE_SIRI_MESSAGES_SIRI_MESSAGES_APP_INTENTS_EXTENSION_UPDATE_A_DRAFT = "com.apple.siri.messages.SiriMessagesAppIntentsExtension.UpdateDraftTool" # Update a Draft
1288
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_CREATEDRAFTMESSAGETOOL_COM_APPLE_MOBILESMS = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.CreateDraftMessageTool|com.apple.MobileSMS" # Create Draft
1289
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_EDITLASTMESSAGESENTWITHSIRITOOL = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.EditLastMessageSentWithSiriTool" # Edit Last Message Sent With Siri
1290
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_PERFORMMESSAGESPOSTREADACTIONFLOWTOOL = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PerformMessagesPostReadActionFlowTool" # PerformMessagesPostReadActionFlowTool
1291
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_PREPARETOREADCONVERSATIONTOOL_COM_APPLE_MOBILESMS = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadConversationTool|com.apple.MobileSMS" # Prepare Conversation
1292
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_PREPARETOREADCONVERSATIONTOOL_COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESAPPINTENTSEXTENSION = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadConversationTool|com.apple.siri.messages.SiriMessagesAppIntentsExtension" # Prepare Conversation
1293
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_PREPARETOREADMESSAGESTOOL_COM_APPLE_MOBILESMS = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadMessagesTool|com.apple.MobileSMS" # Prepare Messages
1294
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_SENDDRAFTMESSAGETOOL_COM_APPLE_MOBILESMS = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.SendDraftMessageTool|com.apple.MobileSMS" # Send Draft Message
1295
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_SENDMESSAGEREACTIONTOOL_COM_APPLE_MOBILESMS = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.SendMessageReactionTool|com.apple.MobileSMS" # Send Message Reaction
1296
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_UNSENDLASTMESSAGESENTWITHSIRITOOL = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.UnsendLastMessageSentWithSiriTool" # Unsend Last Message Sent With Siri
1297
- COM_APPLE_SIRI_MESSAGES_SIRIMESSAGESFLOWTOOLS_SIRIMESSAGESFLOWTOOLS_UPDATEDRAFTMESSAGETOOL_COM_APPLE_MOBILESMS = "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.UpdateDraftMessageTool|com.apple.MobileSMS" # Update Draft
1298
- COM_APPLE_SIRI_NOTEBOOK_SIRINOTEBOOKFLOWTOOLS_SIRINOTEBOOKFLOWTOOLS_CREATELISTADDREMINDERFLOWTOOL_COM_APPLE_REMINDERS = "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.CreateListAddReminderFlowTool|com.apple.reminders" # Create List and Reminder
1299
- COM_APPLE_SIRI_NOTEBOOK_SIRINOTEBOOKFLOWTOOLS_SIRINOTEBOOKFLOWTOOLS_CREATEREMINDERFLOWTOOL_COM_APPLE_REMINDERS = "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.CreateReminderFlowTool|com.apple.reminders" # Create Reminder
1300
- COM_APPLE_SIRI_NOTEBOOK_SIRINOTEBOOKFLOWTOOLS_SIRINOTEBOOKFLOWTOOLS_PREPAREREADREMINDERSFLOWTOOL_COM_APPLE_REMINDERS = "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.PrepareReadRemindersFlowTool|com.apple.reminders" # Prepare Read Reminders
1301
- COM_APPLE_SIRI_NOTEBOOK_SIRINOTEBOOKFLOWTOOLS_SIRINOTEBOOKFLOWTOOLS_UPDATEREMINDERFLOWTOOL_COM_APPLE_REMINDERS = "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.UpdateReminderFlowTool|com.apple.reminders" # Update Reminder
1302
1249
  COM_APPLE_SOCIALLAYERD_SHARE_AND_COLLABORATE = "com.apple.sociallayerd.CollaborationIntent" # Share and Collaborate
1303
1250
  STOCKS_ADD_SYMBOL_TO_WATCHLIST = "com.apple.stocks.AddSymbolToWatchlistIntent" # Add Symbol to Watchlist
1304
1251
  STOCKS_BLOCK_CHANNEL_OR_TOPIC = "com.apple.stocks.BlockIntent" # Block Channel or Topic
@@ -2833,9 +2780,6 @@ ACTIONS = {
2833
2780
  "com.apple.iWork.Numbers.TNNewDocumentIntent": {"name": "Create New Spreadsheet", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.iWork.Numbers", "Name": "Numbers", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "TNNewDocumentIntent"}},
2834
2781
  "com.apple.iWork.Pages.TPDocumentBackgroundExportIntent": {"name": "Export Document in Background", "params": ["document", "format", "sourcePassword", "password"], "output": None, "outputTypes": ["file"], "descriptor": {"BundleIdentifier": "com.apple.iWork.Pages", "Name": "Pages", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "TPDocumentBackgroundExportIntent"}},
2835
2782
  "com.apple.iWork.Pages.TPNewDocumentIntent": {"name": "Create New Document", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.iWork.Pages", "Name": "Pages", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "TPNewDocumentIntent"}},
2836
- "com.apple.intelligenceflow.GeoFlowTools.GeoFlowTools.StartNavigationFlowTool|com.apple.Maps": {"name": "Start Navigation", "params": ["origin", "destinations", "transportationType", "preferences"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.Maps", "Name": "Maps", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "Maps"}},
2837
- "com.apple.intelligenceflow.GeoFlowTools.GeoFlowTools.UpdateWayPointsFlowTool|com.apple.Maps": {"name": "Update Navigation Waypoints", "params": ["waypoints", "navigation"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.Maps", "Name": "Maps", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "Maps"}},
2838
- "com.apple.intelligenceflow.GetCurrentLocationFlowToolPlugin.GetCurrentLocationFlowToolPlugin.GetCurrentLocationTool": {"name": "GetCurrentLocationTool", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.intelligenceflow.GetCurrentLocationFlowToolPlugin", "Name": "GetCurrentLocationFlowToolPlugin", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "GetCurrentLocationTool"}},
2839
2783
  "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenApplication": {"name": "Open Application", "params": ["target"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension", "Name": "IntelligenceFlowAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "OpenApplication"}},
2840
2784
  "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenFile": {"name": "Open File", "params": ["target"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension", "Name": "IntelligenceFlowAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "OpenFile"}},
2841
2785
  "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenURL": {"name": "Open URL", "params": ["target"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension", "Name": "IntelligenceFlowAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "OpenURL"}},
@@ -3003,72 +2947,22 @@ ACTIONS = {
3003
2947
  "com.apple.siri.AudioAppIntentsExtension.SiriKitAddAudioToPlaylistIntent": {"name": "Add Audio Item to Playlist", "params": ["audioEntity", "playlist"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.AudioAppIntentsExtension", "Name": "AudioAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "SiriKitAddAudioToPlaylistIntent"}},
3004
2948
  "com.apple.siri.AudioAppIntentsExtension.SiriKitUpdateAudioAffinityIntent": {"name": "Like Audio Item", "params": ["target", "affinityState"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.AudioAppIntentsExtension", "Name": "AudioAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "SiriKitUpdateAudioAffinityIntent"}},
3005
2949
  "com.apple.siri.AudioAppIntentsExtension.WholeHouseAudioPlaceholderIntent": {"name": "Whole House Audio Placeholder Intent", "params": ["destinations"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.AudioAppIntentsExtension", "Name": "AudioAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "WholeHouseAudioPlaceholderIntent"}},
3006
- "com.apple.siri.PhotosFlowTools.SiriPhotosFlowTools.EditPhotoWarmth|com.apple.Photos": {"name": "EditPhotoWarmth", "params": ["target", "adjustmentType", "value", "isPercentage"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.Photos", "Name": "Photos", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "Photos"}},
3007
- "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToLibraryTool|com.apple.Music": {"name": "AddAudioToLibrary", "params": ["audioEntity"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.Music", "Name": "Music", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "Music"}},
3008
- "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToLibraryTool|com.apple.podcasts": {"name": "AddAudioToLibrary", "params": ["audioEntity"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.podcasts", "Name": "Podcasts", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "podcasts"}},
3009
- "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToPlaylistTool|com.apple.Music": {"name": "AddAudioToPlaylist", "params": ["audioEntity", "playlist"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.Music", "Name": "Music", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "Music"}},
3010
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.Music": {"name": "PlayAudio", "params": ["audioEntity", "playbackAttributes", "queueLocation", "destinations"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.Music", "Name": "Music", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "Music"}},
3011
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.iBooksX": {"name": "PlayAudio", "params": ["audioEntity", "playbackAttributes", "queueLocation", "destinations"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.iBooksX", "Name": "Books", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "iBooksX"}},
3012
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.podcasts": {"name": "PlayAudio", "params": ["audioEntity", "playbackAttributes", "queueLocation", "destinations"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.podcasts", "Name": "Podcasts", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "podcasts"}},
3013
- "com.apple.siri.SiriAudioTools.SiriAudioTools.UpdateAudioAffinityTool|com.apple.Music": {"name": "UpdateAudioAffinity", "params": ["target", "affinityState"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.Music", "Name": "Music", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "Music"}},
3014
- "com.apple.siri.SiriCrisisFlowTools.SiriCrisisFlowTools.GetCrisisResourcesFlowTool": {"name": "Get Crisis Resources", "params": ["resourceCategories"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriCrisisFlowTools", "Name": "SiriCrisisFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "GetCrisisResourcesFlowTool"}},
3015
2950
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.CurrentLocationEntity": {"name": "Get Current Location", "params": ["WFContentItemFilter", "WFContentItemSortProperty", "WFContentItemSortOrder", "WFContentItemLimitEnabled", "WFContentItemLimitNumber", "WFCompoundType", "WFContentItemInputParameter"], "output": "Current Location", "outputTypes": ["com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.CurrentLocationEntity"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension", "Name": "SiriGeoAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "CurrentLocationEntity"}},
3016
2951
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.NavigationSessionEntity": {"name": "Get Current Route", "params": ["WFContentItemFilter", "WFContentItemSortProperty", "WFContentItemSortOrder", "WFContentItemLimitEnabled", "WFContentItemLimitNumber", "WFCompoundType", "WFContentItemInputParameter"], "output": "Current Route", "outputTypes": ["com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.NavigationSessionEntity"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension", "Name": "SiriGeoAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "NavigationSessionEntity"}},
3017
2952
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.SiriGeoAppIntent": {"name": "SiriGeoAppIntent", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension", "Name": "SiriGeoAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "SiriGeoAppIntent"}},
3018
2953
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.ThirdPartyStartNavigationIntent": {"name": "Start Navigation for Third Party Apps", "params": ["origin", "destinations", "transportationType", "preferences", "ShowWhenRun"], "output": "Current Route", "outputTypes": ["com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.NavigationSessionEntity"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension", "Name": "SiriGeoAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "ThirdPartyStartNavigationIntent"}},
3019
- "com.apple.siri.SiriIdentityInternal.SiriIdentityInternal.WhoAmITool": {"name": "WhoAmITool", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriIdentityInternal", "Name": "SiriIdentityInternal", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "WhoAmITool"}},
3020
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.CreateDraftMailTool|com.apple.mail": {"name": "CreateDraftMailTool", "params": ["to", "cc", "bcc", "subject", "body", "account", "attachments"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.mail", "Name": "Mail", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "mail"}},
3021
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.ForwardDraftMailTool|com.apple.mail": {"name": "ForwardDraftMailTool", "params": ["to", "cc", "bcc", "subject", "body", "account", "attachments", "target"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.mail", "Name": "Mail", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "mail"}},
3022
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.ReplyDraftMailTool|com.apple.mail": {"name": "ReplyDraftMailTool", "params": ["to", "cc", "bcc", "subject", "body", "account", "attachments", "target", "isReplyAll"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.mail", "Name": "Mail", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "mail"}},
3023
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.SendDraftMailTool|com.apple.mail": {"name": "SendDraftMailTool", "params": ["sendLaterDate", "target"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.mail", "Name": "Mail", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "mail"}},
3024
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.UpdateDraftMailTool|com.apple.mail": {"name": "UpdateDraftMailTool", "params": ["to", "cc", "bcc", "subject", "body", "account", "attachments", "target"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.mail", "Name": "Mail", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "mail"}},
3025
2954
  "com.apple.siri.SiriNotificationsAppIntentsExtension.PrepareNotificationsIntent": {"name": "Prepare notifications", "params": ["notifications", "isReadLatest", "isCatchMeUp", "app"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriNotificationsAppIntentsExtension", "Name": "SiriNotificationsAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "PrepareNotificationsIntent"}},
3026
2955
  "com.apple.siri.SiriNotificationsAppIntentsExtension.SiriNotificationsAppIntentsExtension": {"name": "SiriNotificationsAppIntentsExtension", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriNotificationsAppIntentsExtension", "Name": "SiriNotificationsAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "SiriNotificationsAppIntentsExtension"}},
3027
- "com.apple.siri.SiriNotificationsFlowTools.SiriNotificationsFlowTools.PrepareNotificationsTool": {"name": "Prepare Notifications", "params": ["notifications", "isReadLatest", "isCatchMeUp"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriNotificationsFlowTools", "Name": "SiriNotificationsFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "PrepareNotificationsTool"}},
3028
2956
  "com.apple.siri.SiriPhoneAppIntentsExtension.SiriPhonePunchoutIntent": {"name": "SiriPhonePunchoutIntent", "params": ["url", "uniqueID", "OpenWhenRun"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhoneAppIntentsExtension", "Name": "SiriPhoneAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "SiriPhonePunchoutIntent"}},
3029
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.AnswerCallFlowTool|com.apple.calls.PhoneAppIntentsExtension": {"name": "Answer an incoming call", "params": ["call", "audioRoute"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.calls.PhoneAppIntentsExtension", "Name": "PhoneAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "PhoneAppIntentsExtension"}},
3030
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.CallEmergencyContactFlowTool": {"name": "Call Emergency Contact Flow Tool", "params": ["audioRoute"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhoneFlowTools", "Name": "SiriPhoneFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "CallEmergencyContactFlowTool"}},
3031
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.CallbackFlowTool": {"name": "Callback Flow Tool", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhoneFlowTools", "Name": "SiriPhoneFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "CallbackFlowTool"}},
3032
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.PrepareCallMessagesFlowTool": {"name": "Prepare Call Messages Flow Tool", "params": ["messages"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhoneFlowTools", "Name": "SiriPhoneFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "PrepareCallMessagesFlowTool"}},
3033
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.PrepareReadCallRecordsFlowTool": {"name": "Prepare Read Call Records", "params": ["records"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhoneFlowTools", "Name": "SiriPhoneFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "PrepareReadCallRecordsFlowTool"}},
3034
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.ReadCallMessageFlowTool": {"name": "Read Call Message Flow Tool", "params": ["message"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhoneFlowTools", "Name": "SiriPhoneFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "ReadCallMessageFlowTool"}},
3035
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.RedialFlowTool": {"name": "Redial Flow Tool", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhoneFlowTools", "Name": "SiriPhoneFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "RedialFlowTool"}},
3036
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCallFlowTool|com.apple.FaceTime": {"name": "Start a call", "params": ["destination", "audioVisualMode", "audioRoute"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.calls.PhoneAppIntentsExtension", "Name": "PhoneAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "FaceTime"}},
3037
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCallFlowTool|com.apple.mobilephone": {"name": "Start a call", "params": ["destination", "audioVisualMode", "audioRoute"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.calls.PhoneAppIntentsExtension", "Name": "PhoneAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "mobilephone"}},
3038
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCrisisHelplineCallFlowTool": {"name": "Start Crisis Helpline Call Flow Tool", "params": ["crisisResourceType", "audioRoute"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhoneFlowTools", "Name": "SiriPhoneFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "StartCrisisHelplineCallFlowTool"}},
3039
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartEmergencyCallFlowTool|com.apple.calls.PhoneAppIntentsExtension": {"name": "Start Emergency Call", "params": ["destination", "audioRoute"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.calls.PhoneAppIntentsExtension", "Name": "PhoneAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "PhoneAppIntentsExtension"}},
3040
2957
  "com.apple.siri.SiriPhotosAppIntentsExtension.SiriPhotosAppIntentsExtension": {"name": "SiriPhotosAppIntentsExtension", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhotosAppIntentsExtension", "Name": "SiriPhotosAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "SiriPhotosAppIntentsExtension"}},
3041
2958
  "com.apple.siri.SiriPhotosAppIntentsExtension.UpdatePhotoWarmthTool": {"name": "Update Photo Warmth", "params": ["target", "adjustmentType", "value", "isPercentage"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriPhotosAppIntentsExtension", "Name": "SiriPhotosAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "UpdatePhotoWarmthTool"}},
3042
- "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.CancelTimerFlowTool|com.apple.clock": {"name": "CancelTimer", "params": ["entities"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.clock", "Name": "Clock", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "clock"}},
3043
- "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.DismissAlarmFlowTool|com.apple.clock": {"name": "DismissAlarm", "params": ["alarm"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.clock", "Name": "Clock", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "clock"}},
3044
- "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.SnoozeAlarmFlowTool|com.apple.clock": {"name": "SnoozeAlarm", "params": ["alarm", "duration"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.clock", "Name": "Clock", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "clock"}},
3045
- "com.apple.siri.SiriTranslationFlowTools.SiriTranslationFlowTools.TranslateTextFlowTool": {"name": "Translate Text", "params": ["phrase", "targetLanguage", "sourceLanguage"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriTranslationFlowTools", "Name": "SiriTranslationFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "TranslateTextFlowTool"}},
3046
2959
  "com.apple.siri.SiriVideoAppIntents.CrossDevicePlaceholderIntent": {"name": "Cross Device Placeholder Intent", "params": ["route"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriVideoAppIntents", "Name": "SiriVideoAppIntents", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "CrossDevicePlaceholderIntent"}},
3047
2960
  "com.apple.siri.SiriVideoAppIntents.InternalFindFreeformVideoIntent": {"name": "Finds a freeform video", "params": ["entity"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriVideoAppIntents", "Name": "SiriVideoAppIntents", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "InternalFindFreeformVideoIntent"}},
3048
2961
  "com.apple.siri.SiriVideoAppIntents.InternalFindVideoIntent": {"name": "Finds a video", "params": ["content"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriVideoAppIntents", "Name": "SiriVideoAppIntents", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "InternalFindVideoIntent"}},
3049
2962
  "com.apple.siri.SiriVideoAppIntents.InternalPlayContentIntent": {"name": "Plays a video", "params": ["content"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriVideoAppIntents", "Name": "SiriVideoAppIntents", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "InternalPlayContentIntent"}},
3050
- "com.apple.siri.SiriVideoFlowTools.SiriVideoFlowTools.FindVideoContentTool": {"name": "Find Video content", "params": ["content"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.SiriVideoFlowTools", "Name": "SiriVideoFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "FindVideoContentTool"}},
3051
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.CreateIncomingGeofenceTool|com.apple.findmy": {"name": "Create Incoming Geofence", "params": ["person", "location", "trigger", "isRecurring"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.findmy", "Name": "Find My", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "findmy"}},
3052
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.CreateOutgoingGeofenceTool|com.apple.findmy": {"name": "Create Outgoing Geofence", "params": ["person", "location", "trigger", "isRecurring"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.findmy", "Name": "Find My", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "findmy"}},
3053
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.FindItemLocationTool|com.apple.findmy": {"name": "Find Item Location", "params": ["item"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.findmy", "Name": "Find My", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "findmy"}},
3054
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.PlayItemSoundTool|com.apple.findmy": {"name": "Play Item Sound", "params": ["item"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.findmy", "Name": "Find My", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "findmy"}},
3055
2963
  "com.apple.siri.messages.SiriMessagesAppIntentsExtension.MessagesPostReadActionAppIntent": {"name": "Messages Post Reading Action Tool", "params": ["readableMessages"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.messages.SiriMessagesAppIntentsExtension", "Name": "SiriMessagesAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "MessagesPostReadActionAppIntent"}},
3056
2964
  "com.apple.siri.messages.SiriMessagesAppIntentsExtension.PrepareToReadConversationAppIntent": {"name": "Prepare To Read Conversation Tool", "params": ["conversation"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.messages.SiriMessagesAppIntentsExtension", "Name": "SiriMessagesAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "PrepareToReadConversationAppIntent"}},
3057
2965
  "com.apple.siri.messages.SiriMessagesAppIntentsExtension.UpdateDraftTool": {"name": "Update a Draft", "params": ["draft", "recipients", "subject", "content", "isAudioMessage"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.messages.SiriMessagesAppIntentsExtension", "Name": "SiriMessagesAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "UpdateDraftTool"}},
3058
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.CreateDraftMessageTool|com.apple.MobileSMS": {"name": "Create Draft", "params": ["destination", "subject", "content", "attachments", "locations", "links", "audioMessage", "isAudioMessage", "scheduledDate"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.MobileSMS", "Name": "Messages", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "MobileSMS"}},
3059
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.EditLastMessageSentWithSiriTool": {"name": "Edit Last Message Sent With Siri", "params": ["content"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.messages.SiriMessagesFlowTools", "Name": "SiriMessagesFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "EditLastMessageSentWithSiriTool"}},
3060
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PerformMessagesPostReadActionFlowTool": {"name": "PerformMessagesPostReadActionFlowTool", "params": ["readableMessages"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.messages.SiriMessagesFlowTools", "Name": "SiriMessagesFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "PerformMessagesPostReadActionFlowTool"}},
3061
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadConversationTool|com.apple.MobileSMS": {"name": "Prepare Conversation", "params": ["conversation"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.MobileSMS", "Name": "Messages", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "MobileSMS"}},
3062
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadConversationTool|com.apple.siri.messages.SiriMessagesAppIntentsExtension": {"name": "Prepare Conversation", "params": ["conversation"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.messages.SiriMessagesAppIntentsExtension", "Name": "SiriMessagesAppIntentsExtension", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "SiriMessagesAppIntentsExtension"}},
3063
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadMessagesTool|com.apple.MobileSMS": {"name": "Prepare Messages", "params": ["message"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.MobileSMS", "Name": "Messages", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "MobileSMS"}},
3064
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.SendDraftMessageTool|com.apple.MobileSMS": {"name": "Send Draft Message", "params": ["draft"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.MobileSMS", "Name": "Messages", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "MobileSMS"}},
3065
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.SendMessageReactionTool|com.apple.MobileSMS": {"name": "Send Message Reaction", "params": ["message", "reaction"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.MobileSMS", "Name": "Messages", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "MobileSMS"}},
3066
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.UnsendLastMessageSentWithSiriTool": {"name": "Unsend Last Message Sent With Siri", "params": [], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.siri.messages.SiriMessagesFlowTools", "Name": "SiriMessagesFlowTools", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "UnsendLastMessageSentWithSiriTool"}},
3067
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.UpdateDraftMessageTool|com.apple.MobileSMS": {"name": "Update Draft", "params": ["draft", "destination", "subject", "content", "attachments", "locations", "links", "audioMessage", "isAudioMessage", "scheduledDate"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.MobileSMS", "Name": "Messages", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "MobileSMS"}},
3068
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.CreateListAddReminderFlowTool|com.apple.reminders": {"name": "Create List and Reminder", "params": ["title", "note", "tags", "urls", "dueDate", "recurrence", "list", "isFlagged", "locationTrigger", "name", "type"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.reminders", "Name": "Reminders", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "reminders"}},
3069
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.CreateReminderFlowTool|com.apple.reminders": {"name": "Create Reminder", "params": ["title", "note", "tags", "urls", "dueDate", "recurrence", "list", "isFlagged", "locationTrigger"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.reminders", "Name": "Reminders", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "reminders"}},
3070
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.PrepareReadRemindersFlowTool|com.apple.reminders": {"name": "Prepare Read Reminders", "params": ["target", "list"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.reminders", "Name": "Reminders", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "reminders"}},
3071
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.UpdateReminderFlowTool|com.apple.reminders": {"name": "Update Reminder", "params": ["target", "isCompleted", "title", "note", "tags", "urls", "dueDate", "recurrence", "list", "isFlagged", "locationTrigger"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.reminders", "Name": "Reminders", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "reminders"}},
3072
2966
  "com.apple.sociallayerd.CollaborationIntent": {"name": "Share and Collaborate", "params": ["recipients"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.sociallayerd", "Name": "sociallayerd", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "CollaborationIntent"}},
3073
2967
  "com.apple.stocks.AddSymbolToWatchlistIntent": {"name": "Add Symbol to Watchlist", "params": ["symbol", "watchlist", "OpenWhenRun"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.stocks", "Name": "Stocks", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "AddSymbolToWatchlistIntent"}},
3074
2968
  "com.apple.stocks.BlockIntent": {"name": "Block Channel or Topic", "params": ["target"], "output": None, "outputTypes": ["none"], "descriptor": {"BundleIdentifier": "com.apple.stocks", "Name": "Stocks", "TeamIdentifier": "0000000000", "AppIntentIdentifier": "BlockIntent"}},
@@ -4604,9 +4498,6 @@ PARAM_KINDS = {
4604
4498
  "com.apple.iWork.Numbers.TNNewDocumentIntent": {},
4605
4499
  "com.apple.iWork.Pages.TPDocumentBackgroundExportIntent": {"document": "any", "format": "string", "sourcePassword": "text", "password": "text"},
4606
4500
  "com.apple.iWork.Pages.TPNewDocumentIntent": {},
4607
- "com.apple.intelligenceflow.GeoFlowTools.GeoFlowTools.StartNavigationFlowTool|com.apple.Maps": {"origin": "any", "destinations": "any", "transportationType": "string", "preferences": "string"},
4608
- "com.apple.intelligenceflow.GeoFlowTools.GeoFlowTools.UpdateWayPointsFlowTool|com.apple.Maps": {"waypoints": "any", "navigation": "any"},
4609
- "com.apple.intelligenceflow.GetCurrentLocationFlowToolPlugin.GetCurrentLocationFlowToolPlugin.GetCurrentLocationTool": {},
4610
4501
  "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenApplication": {"target": "any"},
4611
4502
  "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenFile": {"target": "any"},
4612
4503
  "com.apple.intelligenceflow.IntelligenceFlowAppIntentsExtension.OpenURL": {"target": "text"},
@@ -4774,72 +4665,22 @@ PARAM_KINDS = {
4774
4665
  "com.apple.siri.AudioAppIntentsExtension.SiriKitAddAudioToPlaylistIntent": {"audioEntity": "any", "playlist": "any"},
4775
4666
  "com.apple.siri.AudioAppIntentsExtension.SiriKitUpdateAudioAffinityIntent": {"target": "any", "affinityState": "string"},
4776
4667
  "com.apple.siri.AudioAppIntentsExtension.WholeHouseAudioPlaceholderIntent": {"destinations": "any"},
4777
- "com.apple.siri.PhotosFlowTools.SiriPhotosFlowTools.EditPhotoWarmth|com.apple.Photos": {"target": "any", "adjustmentType": "string", "value": "number", "isPercentage": "bool"},
4778
- "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToLibraryTool|com.apple.Music": {"audioEntity": "any"},
4779
- "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToLibraryTool|com.apple.podcasts": {"audioEntity": "any"},
4780
- "com.apple.siri.SiriAudioTools.SiriAudioTools.AddAudioToPlaylistTool|com.apple.Music": {"audioEntity": "any", "playlist": "any"},
4781
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.Music": {"audioEntity": "any", "playbackAttributes": "string", "queueLocation": "string", "destinations": "any"},
4782
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.iBooksX": {"audioEntity": "any", "playbackAttributes": "string", "queueLocation": "string", "destinations": "any"},
4783
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.podcasts": {"audioEntity": "any", "playbackAttributes": "string", "queueLocation": "string", "destinations": "any"},
4784
- "com.apple.siri.SiriAudioTools.SiriAudioTools.UpdateAudioAffinityTool|com.apple.Music": {"target": "any", "affinityState": "string"},
4785
- "com.apple.siri.SiriCrisisFlowTools.SiriCrisisFlowTools.GetCrisisResourcesFlowTool": {"resourceCategories": "string"},
4786
4668
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.CurrentLocationEntity": {"WFContentItemFilter": "any", "WFContentItemSortProperty": "string", "WFContentItemSortOrder": "text", "WFContentItemLimitEnabled": "bool", "WFContentItemLimitNumber": "number", "WFCompoundType": "string", "WFContentItemInputParameter": "string"},
4787
4669
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.NavigationSessionEntity": {"WFContentItemFilter": "filter", "WFContentItemSortProperty": "string", "WFContentItemSortOrder": "text", "WFContentItemLimitEnabled": "bool", "WFContentItemLimitNumber": "number", "WFCompoundType": "string", "WFContentItemInputParameter": "string"},
4788
4670
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.SiriGeoAppIntent": {},
4789
4671
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.ThirdPartyStartNavigationIntent": {"origin": "any", "destinations": "any", "transportationType": "string", "preferences": "string", "ShowWhenRun": "bool"},
4790
- "com.apple.siri.SiriIdentityInternal.SiriIdentityInternal.WhoAmITool": {},
4791
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.CreateDraftMailTool|com.apple.mail": {"to": "any", "cc": "any", "bcc": "any", "subject": "text", "body": "text", "account": "any", "attachments": "any"},
4792
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.ForwardDraftMailTool|com.apple.mail": {"to": "any", "cc": "any", "bcc": "any", "subject": "text", "body": "text", "account": "any", "attachments": "any", "target": "any"},
4793
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.ReplyDraftMailTool|com.apple.mail": {"to": "any", "cc": "any", "bcc": "any", "subject": "text", "body": "text", "account": "any", "attachments": "any", "target": "any", "isReplyAll": "bool"},
4794
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.SendDraftMailTool|com.apple.mail": {"sendLaterDate": "text", "target": "any"},
4795
- "com.apple.siri.SiriMailFlowTools.SiriMailFlowTools.UpdateDraftMailTool|com.apple.mail": {"to": "any", "cc": "any", "bcc": "any", "subject": "text", "body": "text", "account": "any", "attachments": "any", "target": "any"},
4796
4672
  "com.apple.siri.SiriNotificationsAppIntentsExtension.PrepareNotificationsIntent": {"notifications": "any", "isReadLatest": "bool", "isCatchMeUp": "bool", "app": "any"},
4797
4673
  "com.apple.siri.SiriNotificationsAppIntentsExtension.SiriNotificationsAppIntentsExtension": {},
4798
- "com.apple.siri.SiriNotificationsFlowTools.SiriNotificationsFlowTools.PrepareNotificationsTool": {"notifications": "any", "isReadLatest": "bool", "isCatchMeUp": "bool"},
4799
4674
  "com.apple.siri.SiriPhoneAppIntentsExtension.SiriPhonePunchoutIntent": {"url": "text", "uniqueID": "text", "OpenWhenRun": "bool"},
4800
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.AnswerCallFlowTool|com.apple.calls.PhoneAppIntentsExtension": {"call": "any", "audioRoute": "any"},
4801
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.CallEmergencyContactFlowTool": {"audioRoute": "any"},
4802
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.CallbackFlowTool": {},
4803
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.PrepareCallMessagesFlowTool": {"messages": "any"},
4804
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.PrepareReadCallRecordsFlowTool": {"records": "any"},
4805
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.ReadCallMessageFlowTool": {"message": "any"},
4806
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.RedialFlowTool": {},
4807
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCallFlowTool|com.apple.FaceTime": {"destination": "any", "audioVisualMode": "string", "audioRoute": "any"},
4808
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCallFlowTool|com.apple.mobilephone": {"destination": "any", "audioVisualMode": "string", "audioRoute": "any"},
4809
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCrisisHelplineCallFlowTool": {"crisisResourceType": "string", "audioRoute": "any"},
4810
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartEmergencyCallFlowTool|com.apple.calls.PhoneAppIntentsExtension": {"destination": "any", "audioRoute": "any"},
4811
4675
  "com.apple.siri.SiriPhotosAppIntentsExtension.SiriPhotosAppIntentsExtension": {},
4812
4676
  "com.apple.siri.SiriPhotosAppIntentsExtension.UpdatePhotoWarmthTool": {"target": "text", "adjustmentType": "string", "value": "number", "isPercentage": "bool"},
4813
- "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.CancelTimerFlowTool|com.apple.clock": {"entities": "any"},
4814
- "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.DismissAlarmFlowTool|com.apple.clock": {"alarm": "any"},
4815
- "com.apple.siri.SiriTimeFlowTools.SiriTimeFlowTools.SnoozeAlarmFlowTool|com.apple.clock": {"alarm": "any", "duration": "any"},
4816
- "com.apple.siri.SiriTranslationFlowTools.SiriTranslationFlowTools.TranslateTextFlowTool": {"phrase": "text", "targetLanguage": "text", "sourceLanguage": "text"},
4817
4677
  "com.apple.siri.SiriVideoAppIntents.CrossDevicePlaceholderIntent": {"route": "any"},
4818
4678
  "com.apple.siri.SiriVideoAppIntents.InternalFindFreeformVideoIntent": {"entity": "any"},
4819
4679
  "com.apple.siri.SiriVideoAppIntents.InternalFindVideoIntent": {"content": "any"},
4820
4680
  "com.apple.siri.SiriVideoAppIntents.InternalPlayContentIntent": {"content": "any"},
4821
- "com.apple.siri.SiriVideoFlowTools.SiriVideoFlowTools.FindVideoContentTool": {"content": "any"},
4822
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.CreateIncomingGeofenceTool|com.apple.findmy": {"person": "any", "location": "any", "trigger": "string", "isRecurring": "bool"},
4823
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.CreateOutgoingGeofenceTool|com.apple.findmy": {"person": "any", "location": "any", "trigger": "string", "isRecurring": "bool"},
4824
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.FindItemLocationTool|com.apple.findmy": {"item": "any"},
4825
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.PlayItemSoundTool|com.apple.findmy": {"item": "any"},
4826
4681
  "com.apple.siri.messages.SiriMessagesAppIntentsExtension.MessagesPostReadActionAppIntent": {"readableMessages": "any"},
4827
4682
  "com.apple.siri.messages.SiriMessagesAppIntentsExtension.PrepareToReadConversationAppIntent": {"conversation": "any"},
4828
4683
  "com.apple.siri.messages.SiriMessagesAppIntentsExtension.UpdateDraftTool": {"draft": "any", "recipients": "any", "subject": "text", "content": "text", "isAudioMessage": "bool"},
4829
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.CreateDraftMessageTool|com.apple.MobileSMS": {"destination": "any", "subject": "text", "content": "text", "attachments": "any", "locations": "any", "links": "text", "audioMessage": "any", "isAudioMessage": "bool", "scheduledDate": "text"},
4830
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.EditLastMessageSentWithSiriTool": {"content": "text"},
4831
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PerformMessagesPostReadActionFlowTool": {"readableMessages": "any"},
4832
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadConversationTool|com.apple.MobileSMS": {"conversation": "any"},
4833
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadConversationTool|com.apple.siri.messages.SiriMessagesAppIntentsExtension": {"conversation": "any"},
4834
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.PrepareToReadMessagesTool|com.apple.MobileSMS": {"message": "any"},
4835
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.SendDraftMessageTool|com.apple.MobileSMS": {"draft": "any"},
4836
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.SendMessageReactionTool|com.apple.MobileSMS": {"message": "any", "reaction": "any"},
4837
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.UnsendLastMessageSentWithSiriTool": {},
4838
- "com.apple.siri.messages.SiriMessagesFlowTools.SiriMessagesFlowTools.UpdateDraftMessageTool|com.apple.MobileSMS": {"draft": "any", "destination": "any", "subject": "text", "content": "text", "attachments": "any", "locations": "any", "links": "text", "audioMessage": "any", "isAudioMessage": "bool", "scheduledDate": "text"},
4839
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.CreateListAddReminderFlowTool|com.apple.reminders": {"title": "text", "note": "text", "tags": "text", "urls": "text", "dueDate": "text", "recurrence": "any", "list": "any", "isFlagged": "bool", "locationTrigger": "any", "name": "text", "type": "string"},
4840
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.CreateReminderFlowTool|com.apple.reminders": {"title": "text", "note": "text", "tags": "text", "urls": "text", "dueDate": "text", "recurrence": "any", "list": "any", "isFlagged": "bool", "locationTrigger": "any"},
4841
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.PrepareReadRemindersFlowTool|com.apple.reminders": {"target": "any", "list": "any"},
4842
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.UpdateReminderFlowTool|com.apple.reminders": {"target": "any", "isCompleted": "bool", "title": "text", "note": "text", "tags": "text", "urls": "text", "dueDate": "text", "recurrence": "any", "list": "any", "isFlagged": "bool", "locationTrigger": "any"},
4843
4684
  "com.apple.sociallayerd.CollaborationIntent": {"recipients": "any"},
4844
4685
  "com.apple.stocks.AddSymbolToWatchlistIntent": {"symbol": "any", "watchlist": "any", "OpenWhenRun": "bool"},
4845
4686
  "com.apple.stocks.BlockIntent": {"target": "any"},
@@ -5927,7 +5768,6 @@ PARAM_CHOICES = {
5927
5768
  "com.apple.iWork.Keynote.KNDocumentBackgroundExportIntent": {"format": ["pdf", "powerpoint"]},
5928
5769
  "com.apple.iWork.Numbers.TNDocumentBackgroundExportIntent": {"format": ["excel", "pdf"]},
5929
5770
  "com.apple.iWork.Pages.TPDocumentBackgroundExportIntent": {"format": ["pdf", "word"]},
5930
- "com.apple.intelligenceflow.GeoFlowTools.GeoFlowTools.StartNavigationFlowTool|com.apple.Maps": {"transportationType": ["any", "cycling", "driving", "transit", "walking"], "preferences": ["avoidBusyRoads", "avoidHighways", "avoidHills", "avoidStairs", "avoidTolls", "disableBus", "disableFerry", "disableSubway", "disableTrain"]},
5931
5771
  "com.apple.intelligenceplatform.IntelligencePlatform.IntelligencePlatformDataActionsAppIntentsExtension.CalculateAppUsageIntent": {"during": ["inBetween", "lastWeek", "specifiedDay", "thisMonth", "thisWeek", "today", "yesterday"], "activityType": ["all", "app", "website"]},
5932
5772
  "com.apple.journal.AddCurrentLocationEntity": {"WFContentItemSortProperty": ["Random", "value"], "WFCompoundType": ["0", "1"], "WFContentItemInputParameter": ["Library"]},
5933
5773
  "com.apple.journal.AlwaysUseMomentDateEntity": {"WFContentItemSortProperty": ["Random", "value"], "WFCompoundType": ["0", "1"], "WFContentItemInputParameter": ["Library"]},
@@ -5984,22 +5824,10 @@ PARAM_CHOICES = {
5984
5824
  "com.apple.shortcuts.OpenShortcutsStaticDeepLinks": {"target": ["advanced", "legalNotices", "root"]},
5985
5825
  "com.apple.shortcuts.SetShortcutAttributesAction": {"operation": ["toggle", "turn"], "attribute": ["allowWhenLocked", "onScreenContent", "pinInMenuBar", "quickActions", "receivesInputFromSearch", "showInShareSheet", "showOnWatch"]},
5986
5826
  "com.apple.siri.AudioAppIntentsExtension.SiriKitUpdateAudioAffinityIntent": {"affinityState": ["dislike", "like", "unset"]},
5987
- "com.apple.siri.PhotosFlowTools.SiriPhotosFlowTools.EditPhotoWarmth|com.apple.Photos": {"adjustmentType": ["warmth"]},
5988
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.Music": {"playbackAttributes": ["repeat", "shuffle"], "queueLocation": ["next", "tail"]},
5989
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.iBooksX": {"playbackAttributes": ["repeat", "shuffle"], "queueLocation": ["later", "next", "tail"]},
5990
- "com.apple.siri.SiriAudioTools.SiriAudioTools.PlayAudioTool|com.apple.podcasts": {"playbackAttributes": ["repeat", "shuffle"], "queueLocation": ["next", "tail"]},
5991
- "com.apple.siri.SiriAudioTools.SiriAudioTools.UpdateAudioAffinityTool|com.apple.Music": {"affinityState": ["dislike", "like", "unset"]},
5992
- "com.apple.siri.SiriCrisisFlowTools.SiriCrisisFlowTools.GetCrisisResourcesFlowTool": {"resourceCategories": ["addiction", "bullying", "childSafety", "disorderedEating", "domesticViolence", "financialScams", "lgbtqSupport", "mentalHealth", "moreResources", "personalSafety", "poisoning", "raceEthnicity", "sexualViolence", "suicideSelfHarm"]},
5993
5827
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.CurrentLocationEntity": {"WFContentItemSortProperty": ["Random"], "WFCompoundType": ["0", "1"], "WFContentItemInputParameter": ["Library"]},
5994
5828
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.NavigationSessionEntity": {"WFContentItemSortProperty": ["Random", "estimatedArrivalDate", "preferences", "transportationType", "waypoints"], "WFCompoundType": ["0", "1"], "WFContentItemInputParameter": ["Library"]},
5995
5829
  "com.apple.siri.SiriGeo.SiriGeoAppIntentExtension.ThirdPartyStartNavigationIntent": {"transportationType": ["cycling", "driving", "transit", "walking"], "preferences": ["avoidBusyRoads", "avoidHighways", "avoidHills", "avoidStairs", "avoidTolls"]},
5996
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCallFlowTool|com.apple.FaceTime": {"audioVisualMode": ["audio", "video"]},
5997
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCallFlowTool|com.apple.mobilephone": {"audioVisualMode": ["audio", "video"]},
5998
- "com.apple.siri.SiriPhoneFlowTools.SiriPhoneFlowTools.StartCrisisHelplineCallFlowTool": {"crisisResourceType": ["domesticViolence", "poisonControl", "sexualAssault", "suicidePrevention"]},
5999
5830
  "com.apple.siri.SiriPhotosAppIntentsExtension.UpdatePhotoWarmthTool": {"adjustmentType": ["warmth"]},
6000
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.CreateIncomingGeofenceTool|com.apple.findmy": {"trigger": ["onEntry", "onExit"]},
6001
- "com.apple.siri.findmy.SiriFindMyFlowTools.SiriFindMyFlowTools.CreateOutgoingGeofenceTool|com.apple.findmy": {"trigger": ["onEntry", "onExit"]},
6002
- "com.apple.siri.notebook.SiriNotebookFlowTools.SiriNotebookFlowTools.CreateListAddReminderFlowTool|com.apple.reminders": {"type": ["groceries", "standard"]},
6003
5831
  "com.apple.stocks.NewsTabDeepLink": {"WFContentItemSortProperty": ["Random"], "WFCompoundType": ["0", "1"], "WFContentItemInputParameter": ["Library"]},
6004
5832
  "com.apple.stocks.SymbolEntity": {"WFContentItemSortProperty": ["Random", "exchange", "name", "symbol"], "WFCompoundType": ["0", "1"], "WFContentItemInputParameter": ["Library"]},
6005
5833
  "com.apple.stocks.SymbolWidgetEntity": {"WFContentItemSortProperty": ["Random", "exchange", "name", "symbol"], "WFCompoundType": ["0", "1"], "WFContentItemInputParameter": ["Library"]},
@@ -1,5 +1,5 @@
1
1
  {
2
- "extractedAt": "2026-10-26T08:31:33Z",
2
+ "extractedAt": "2026-10-28T01:38:46Z",
3
3
  "macOS": { "version": "27.2", "build": "26B118", "arch": "arm64" },
4
4
  "shortcutsApp": { "version": "10.0", "build": "5114.0.6.204" },
5
5
  "workflowKit": "10.0",
@@ -7,7 +7,7 @@
7
7
  "toolKit": {"indexerSource": "BackgroundShortcutRunner", "osVersion": "26B118", "source": "Tools-prod.v80.sqlite"},
8
8
  "counts": {
9
9
  "builtinActions": 449,
10
- "appleAppIntents": 1318,
10
+ "appleAppIntents": 1265,
11
11
  "identifierStrings": 411,
12
12
  "appProvidedActions": 284
13
13
  },
@@ -580,3 +580,6 @@ ENTITY_PROPERTIES = {
580
580
  "com.apple.weather.PreferredUnitsEntity": ["distanceUnit", "precipitationUnit", "pressureUnit", "temperatureUnit", "windUnit"],
581
581
  "com.apple.weather.SyncedDataEntity": ["encodedSyncedData"],
582
582
  }
583
+
584
+ # Content item classes a coercion can name (coerce()): the engine's own list, the editor's variable "Type" menu, with the name it shows.
585
+ CONTENT_ITEM_CLASSES = {"WFAppStoreAppContentItem": "App Store App", "WFArticleContentItem": "Article", "WFBooleanContentItem": "Boolean", "WFContactContentItem": "Contact", "WFDateContentItem": "Date", "WFDCMapsLinkContentItem": "Maps Link", "WFDictionaryContentItem": "Dictionary", "WFEKParticipantContentItem": "Event Attendee", "WFEmailAddressContentItem": "Email Address", "WFGenericFileContentItem": "File", "WFImageContentItem": "Image", "WFiTunesProductContentItem": "iTunes Product", "WFLocationContentItem": "Location", "WFMKMapItemContentItem": "Place", "WFNumberContentItem": "Number", "WFPDFContentItem": "PDF", "WFPersonNameComponentsContentItem": "Name Components", "WFPhoneNumberContentItem": "Phone Number", "WFRichTextContentItem": "Rich Text", "WFStringContentItem": "Text", "WFURLContentItem": "URL", "WFVCardContentItem": "vCard"}
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shortcutkit
3
- Version: 2.0.0
4
- Summary: Build, validate, and sign Apple Shortcuts files from Python. All 449 built-in actions and 1,318 Apple app actions, extracted from the Shortcuts engine.
3
+ Version: 3.0.0
4
+ Summary: Build, validate, and sign Apple Shortcuts files from Python. All 449 built-in actions and 1,265 Apple app actions, extracted from the Shortcuts engine.
5
5
  Author: frontboat
6
6
  License-Expression: MIT
7
7
  Project-URL: Homepage, https://github.com/frontboat/shortcutkit
@@ -51,9 +51,9 @@ are archived ([python-shortcuts](https://github.com/alexander-akhmetov/python-sh
51
51
  [Cherri](https://github.com/electrikmilk/cherri) is a separate language with its own compiler.
52
52
 
53
53
  - All 449 built-in actions as constants, so a typo is an `AttributeError`.
54
- - 1,318 actions from Apple's apps: Reminders, Notes, Messages, Settings, and 70 more. Only
54
+ - 1,265 actions from Apple's apps: Reminders, Notes, Messages, Settings, and 70 more. Only
55
55
  actions the Shortcuts editor offers: the Siri-only intents the app refuses to import are left out.
56
- - Third-party app actions, given their descriptor.
56
+ - Third-party app actions, named by app and intent.
57
57
  - Checked conditions for 150 Find actions, the 14 built-in ones (Filter Files, Find Photos, Find
58
58
  Contacts, ...) and 136 in Apple's apps (Find Messages, Find Notes, ...), from the engine's own
59
59
  rules, and the properties of what they find.
@@ -114,20 +114,33 @@ found = s.action(actions.MESSAGES_FIND_MESSAGE,
114
114
  s.action(actions.SHOWRESULT, Text=text(property_(found, "body")))
115
115
  ```
116
116
 
117
+ ### Dictionaries and types
118
+
119
+ A dictionary parameter takes a plain dict: strings, `text()` and references are text items, and
120
+ numbers, booleans, lists and nested dicts keep their type, as the editor's item type menu sets it.
121
+ `coerce()` reads a value as one content type, as the variable "Type" menu does.
122
+
123
+ ```python
124
+ from shortcutkit import coerce
125
+
126
+ d = s.action(actions.DICTIONARY, WFItems={"name": ref(name), "greeted": True, "tags": ["a", "b"]})
127
+ gid = s.if_(coerce(d, "WFStringContentItem"), "contains", "a")
128
+ s.end_if(gid)
129
+ ```
130
+
117
131
  ### Other apps
118
132
 
119
- Pass the identifier and descriptor yourself; the parameters are not checked.
133
+ Name the app and the intent: the identifier is the bundle identifier followed by the intent name, as
134
+ the catalogue identifies an app's own intents, and the descriptor is written as the catalogue's are.
135
+ The parameters are not checked: their keys are the intent's parameter names, from
136
+ `Metadata.appintents/extract.actionsdata` in the app bundle.
120
137
 
121
138
  ```python
122
- s.action(
123
- "com.example.app.CreateNoteIntent",
124
- AppIntentDescriptor={
125
- "BundleIdentifier": "com.example.app", "Name": "Example", "TeamIdentifier": "ABCDE12345",
126
- "AppIntentIdentifier": "CreateNoteIntent", "ActionRequiresAppInstallation": True,
127
- },
128
- title=text("Hello"),
129
- body=ref(name),
130
- )
139
+ from shortcutkit import app_intent
140
+
141
+ app = {"BundleIdentifier": "com.example.app", "Name": "Example", "TeamIdentifier": "ABCDE12345"}
142
+ note = s.action(app_intent(app, "CreateNoteIntent", "Note"), title=text("Hello"), body=ref(name))
143
+ s.action(actions.SHOWRESULT, Text=ref(note))
131
144
  ```
132
145
 
133
146
  ## API
@@ -149,7 +162,10 @@ s.action(
149
162
  | `shortcut_input()`, `clipboard()`, `current_date()`, `ask()`, `device_details()`, `current_app()` | Special variables. |
150
163
  | `where(*rows)`, `where_any(*rows)` | Conditions for a Find action's `WFContentItemFilter`. |
151
164
  | `property_(source, name)` | One property of an action's output or a variable. |
152
- | `FILTERS`, `ENTITY_PROPERTIES`, `FILTER_OPERATORS`, `CALENDAR_UNITS` | What each Find action can filter on, and each entity type's properties. |
165
+ | `coerce(source, class)` | A value read as one content type (`CONTENT_ITEM_CLASSES`). |
166
+ | `dictionary(items)` | A dictionary parameter's items; `action()` encodes a plain dict itself. |
167
+ | `app_intent(app, intent, output=None)` | Another app's action, for `s.action()`. |
168
+ | `FILTERS`, `ENTITY_PROPERTIES`, `FILTER_OPERATORS`, `CALENDAR_UNITS`, `CONTENT_ITEM_CLASSES` | What each Find action can filter on, each entity type's properties, and the content types a coercion can name. |
153
169
  | `actions`, `ACTIONS`, `get_action(id)` | Action identifiers and their catalog entries. |
154
170
  | `PARAM_KINDS`, `PARAM_CHOICES`, `PARAM_VARIABLE_TYPES` | What each parameter accepts. |
155
171
  | `CONDITION`, `ICON_COLORS`, `PROVENANCE` | If conditions, icon colors, and the build the data came from. |
File without changes
File without changes